CSS3【display: flex;】与【align-content: (wrap 模式下堆栈排列);】的使用

简介: CSS3【display: flex;】与【align-content: (wrap 模式下堆栈排列);】的使用
  • align-content 简介
    堆栈排列,可对应用 flex-wrap: wrap 后产生的换行进行控制,包括 flex-startflex-endcenterspace-betweenspace-aroundstretch
  • align-content 使用
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    body {
      background-color: #eee;
      font-size: 22px;
    }
    h3 {
      margin: 10px;
      font-weight: normal;
    }
    section {
      width: 1000px;
      margin: 0 auto;
    }
    ul {
      background-color: #fff;
      border: 1px solid #ccc;
      height: 700px;
    }
    ul li {
      width: 200px;
      height: 200px;
      background-color: pink;
      margin: 10px;
    }
    section:nth-child(1) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      /* align-content 是基于 flex-wrap: wrap; 才可以使用的属性 */
      align-content: flex-start;
    }
    section:nth-child(2) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      /* align-content 是基于 flex-wrap: wrap; 才可以使用的属性 */
      align-content: flex-end;
    }
    section:nth-child(3) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      align-items: flex-end;
    }
    section:nth-child(4) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      /* align-content 是基于 flex-wrap: wrap; 才可以使用的属性 */
      align-content: center;
    }
    section:nth-child(5) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      /* align-content 是基于 flex-wrap: wrap; 才可以使用的属性 */
      align-content: space-around;
    }
    section:nth-child(6) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      /* align-content 是基于 flex-wrap: wrap; 才可以使用的属性 */
      align-content: space-between;
    }
    section:nth-child(7) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      /* align-content 是基于 flex-wrap: wrap; 才可以使用的属性 */
      align-content: stretch;
    }
    .stretch li {
      height: auto;
    }
    section:nth-child(8) ul {
      display: flex;
      /* 这个换行是必须的,align-content 才会生效 */
      flex-wrap: wrap;
      /* align-content 是基于 flex-wrap: wrap; 才可以使用的属性 */
      align-content: stretch;
    }
  </style>
</head>
<body>
  <section>
    <h3>align-content: flex-start;</h3>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
  <section>
    <h3>align-content: flex-end;</h3>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
  <section>
    <h3>align-items: flex-end; 可以比较一下上面 align-content: flex-end; 的效果,会发现行两者间距一个属于弹性间距一个会按着css设置间距来,两者的其他属性也是这样 </h3>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
  <section>
    <h3>align-content: center;</h3>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
  <section>
    <h3>align-content: space-around; 平均分摊空间,以这两行举例,行高一样,间距一样,中间行间距高,是因为有第一行的底部跟第二行的顶部间距</h3>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
  <section>
    <h3>align-content: space-between; 两端对齐</h3>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
  <section>
    <h3>align-content: stretch; 拉伸</h3>
    <ul class="stretch">
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
  <section>
    <h3>align-content: stretch; 拉伸, 高度不设置 auto 状态下的样子</h3>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>
  </section>
</body>
</html>
  • demo 效果:






相关文章
|
5天前
|
前端开发
css显示模式
块级元素 独占一行 宽度默认是父级的100% 添加宽高属性生效 行内元素 尺寸由内容决定 添加宽高属性不生效 行内块元素 尺寸由内容决定 添加宽高属性生效
|
20天前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
1月前
|
数据可视化 前端开发 搜索推荐
FLEX组件可视化设计器CSS3代码生成器
FLEX组件可视化设计器CSS3代码生成器
25 4
|
1月前
|
前端开发 开发者 容器
CSS3:flex&box-sizing
本文介绍了CSS中的Flex布局及其相关属性,如`flex-direction`、`flex-wrap`、`justify-content`等,并通过代码示例展示了如何使用这些属性来控制容器内的项目排列方式。同时,还讲解了`align-items`属性用于定义子元素在交叉轴上的对齐方式,以及`box-sizing`属性的不同取值对元素尺寸计算的影响。
|
4月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
4月前
|
前端开发
css的flex布局中使用margin:auto智能分配剩余空间
css的flex布局中使用margin:auto智能分配剩余空间
46 1
|
4月前
|
编解码 前端开发 C++
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
140 0
|
4月前
|
前端开发
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
35 0
|
3月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果

热门文章

最新文章