css3伸缩盒模型第二章(侧轴相关)

发布于:2025-05-07 ⋅ 阅读:(11) ⋅ 点赞:(0)

css3伸缩盒模型第二章(侧轴相关)

侧轴对齐方式

侧轴对齐我们需要分两种情况,一种是多行,一种是单行,两种设置方式不同

  • 属性:align-items 单行
  • 属性: align-content 多行

单行 align-items

  • flex-start: 侧轴的起点对齐
  • flex-end :侧轴的终点对齐。
  • center :侧轴的中点对齐。
  • baseline : 伸缩项目的第一行文字的基线对齐。
  • stretch :如果伸缩项目未设置高度,将占满整个容器的高度。—— (默认值)

基本代码

<title>06.侧重对齐方式</title>
  <style>
     .outer {
       width: 1000px;
       height: 600px;
       background-color: #888;
       margin: 0 auto;

       /* 开启弹性盒子 */
       display: flex;

       /* 主轴方向默认 */
       flex-direction: row;


       /* 默认不换行 */
       flex-wrap: nowrap;


       /* 侧轴方向 */

       /* 第一种方式    从上到下 */
       align-items: flex-start;


       /* 第二种方式   从下到上 */
       /* align-items: flex-end;  */


       /* 第三种方式   居中 */
       /* align-items: center; */
       

       /* 第四种方式   基线对齐 */
       /* align-items: baseline; */

       /* 第五种方式    自动拉伸填满   需要将元素高度都设置为0  */
       /* align-items: stretch; */
     }




     .inner {
       width: 200px;
       height: 200px;
       background-color: chocolate;
       border: 1px solid black;
       box-sizing: border-box;
     }

     .inner2 {
       height: 300px;
      
     }

     .inner3 {
       height: 100px;
     }

     .inner_stre {
       width: 200px;
       background-color: paleturquoise;
       border: 1px solid black;
     }

     .inner-baseline {
      font-size: 80px;
     }

  </style>
</head>
<body>
  <div class="outer">
      <div class="inner">1</div>
      <div class="inner inner2">2</div>
      <div class="inner inner3">3</div>
  </div>

  <!-- 基线对齐    font-size: 80px;   -->
  <!-- <div class="outer">
    <div class="inner">1X</div>
    <div class="inner inner2 inner-baseline">2X</div>
    <div class="inner inner3">3X</div>
  </div> -->

  <!-- 拉伸 默认方式-->
  <!-- <div class="outer">
    <div class="inner_stre">1</div>
    <div class="inner_stre">2</div>
    <div class="inner_stre">3</div>
  </div> -->
</body>

flex-start

侧轴的起点对齐,也就是从上到下

align-items: flex-start;

在这里插入图片描述

flex-end

从侧轴的重点方向,从下到上

/* 第二种方式 从下到上 */

​ align-items: flex-end;

在这里插入图片描述

center

项目居中对齐;

/* 第三种方式 居中 */

​ align-items: center;

在这里插入图片描述

baseline

基线对齐,我们需要将项目里面的内容设置一个X的字母,然后将字母调整大一些,这个时候观察,就是以基线对齐了;

  • 代码

     .inner-baseline {
          font-size: 80px;
         }
     
     <!-- 基线对齐    font-size: 80px;   -->
      <div class="outer">
        <div class="inner">1X</div>
        <div class="inner inner2 inner-baseline">2X</div>
        <div class="inner inner3">3X</div>
      </div>
    

    /* 第四种方式 基线对齐 */

    ​ align-items: baseline;

在这里插入图片描述

stretch

自动拉伸,也就是说当我们没有设置高度的时候,项目会自动拉伸整个高度,直至完全填充整个父容器的高度

  • 代码
  <div class="outer">
    <div class="inner_stre">1</div>
    <div class="inner_stre">2</div>
    <div class="inner_stre">3</div>
  </div>

/* 第五种方式 自动拉伸填满 需要将元素高度都设置为0 */

​ align-items: stretch;

在这里插入图片描述


多行 align-content

我们设置整个容器的高度加到900px,将内容撑开,保证有三行效果,且第一行每个元素高度不同

  • 属性:align-content
  • 属性值:
    • flex-start :与侧轴的起点对齐。
    • flex-end :与侧轴的终点对齐。
    • center :与侧轴的中点对齐。
    • space-between :与侧轴两端对齐,中间平均分布。
    • space-around :伸缩项目间的距离相等,比距边缘大一倍。
    • space-evenly : 在侧轴上完全平分。
    • stretch :占满整个侧轴。—— 默认值

基本代码

<meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>06.侧重对齐方式</title>
  <style>
     .outer {
       width: 1000px;
       height: 900px;
       background-color: #888;
       margin: 0 auto;

       /* 开启弹性盒子 */
       display: flex;

       /* 主轴方向默认 */
       flex-direction: row;

       /* 换行 */
       flex-wrap: wrap;

       /* 多行对齐方式   */
       /* 方式1   全都挨到一起了,不留空隙,节约主义 */
       /* align-content: flex-start; */

       /* 方式2  将上面留着往下挤    */
       /* align-content: flex-end; */


       /* 方式3   居中   两边留相同的间隙 */
       /* align-content: center; */

       /* 方式4  项目间距离是两侧距离的2倍*/
       /* align-content: space-around; */

       /* 方式4   两侧不留间隙,项目间间隙相等*/
       align-content: space-between;

       /* 方式5  间隙均分 */
       /* align-content: space-evenly; */

       /* 方式5   拉伸,全部填充    需要将高度都去掉 */
       /* align-content: stretch; */
     }




     .inner {
       width: 200px;
       height: 200px;
       background-color: plum;
       border: 1px solid black;
       box-sizing: border-box;
       font-size: 30px;
       text-align: center;
       line-height: 200px;
       
     }

     .inner2 {
       height: 300px;
     }

     .inner1 {
       height: 100px;
     }

     .inner_stretch {
       width: 200px;
       background-color: pink;
       border: 1px solid black;
       box-sizing: border-box;
       font-size: 30px;
       text-align: center;
       line-height: 200px;
     }
     

  </style>
</head>
<body>
  <div class="outer">
      <div class="inner">1</div>
      <div class="inner inner2">2</div>
      <div class="inner inner3">3</div>
      <div class="inner">4</div>
      <div class="inner">5</div>
      <div class="inner">6</div>
      <div class="inner">7</div>
      <div class="inner">8</div>
      <div class="inner">9</div>
      <div class="inner">10</div>
      <div class="inner">11</div>
  </div>


  <!-- stretch-->
  <!-- <div class="outer">
    <div class="inner_stretch">1</div>
    <div class="inner_stretch">2</div>
    <div class="inner_stretch">3</div>
    <div class="inner_stretch">4</div>
    <div class="inner_stretch">5</div>
    <div class="inner_stretch">6</div>
    <div class="inner_stretch">7</div>
    <div class="inner_stretch">8</div>
    <div class="inner_stretch">9</div>
    <div class="inner_stretch">10</div>
    <div class="inner_stretch">11</div>
</div> -->

 
</body>
  • 默认效果,设置换行

    在这里插入图片描述

flex-start

/* 方式1 全都挨到一起了,不留空隙,节约主义 */

​ align-content: flex-start;

在这里插入图片描述

flex-end

/* 方式2 将上面留着往下挤 */

​ align-content: flex-end;

在这里插入图片描述

center

居中对齐,两边留缝隙

/* 方式3 居中 两边留相同的间隙 */

​ align-content: center;

在这里插入图片描述

space-around

项目间距离是两侧距离的2倍,项目与项目间的距离相等

/* 方式4 项目间距离是两侧距离的2倍*/

​ align-content: space-around;

在这里插入图片描述

space-between

两侧不留间隙,项目间间隙相等

/* 方式4 两侧不留间隙,项目间间隙相等*/

​ align-content: space-between;

在这里插入图片描述

space-evenly

间隙均分,所有剩余的空间按照相同的比例均分

/* 方式5 间隙均分 */

​ align-content: space-evenly;

在这里插入图片描述

stretch

拉伸(默认值),全部填充 , 需要将高度都去掉

/* 方式5 拉伸,全部填充 需要将高度都去掉 */

​ align-content: stretch;

  • 代码

      <div class="outer">
        <div class="inner_stretch">1</div>
        <div class="inner_stretch">2</div>
        <div class="inner_stretch">3</div>
        <div class="inner_stretch">4</div>
        <div class="inner_stretch">5</div>
        <div class="inner_stretch">6</div>
        <div class="inner_stretch">7</div>
        <div class="inner_stretch">8</div>
        <div class="inner_stretch">9</div>
        <div class="inner_stretch">10</div>
        <div class="inner_stretch">11</div>
    </div>
    

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到