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

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

侧轴对齐方式

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

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

单行 align-items

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

基本代码

markdown 复制代码
<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的字母,然后将字母调整大一些,这个时候观察,就是以基线对齐了;

  • 代码

    markdown 复制代码
     .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

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

  • 代码
markdown 复制代码
  <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 :占满整个侧轴。------ 默认值

基本代码

markdown 复制代码
<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;

  • 代码

    markdown 复制代码
      <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>
相关推荐
lljss20205 分钟前
html文字红色粗体,闪烁渐变动画效果,中英文切换版本
css·html·css3
海的诗篇_39 分钟前
前端开发面试题总结-JavaScript篇(二)
开发语言·前端·javascript·typescript
琹箐1 小时前
ant-design4.xx实现数字输入框; 某些输入法数字需要连续输入两次才显示
前端·javascript·anti-design-vue
程序员-小李1 小时前
VuePress完美整合Toast消息提示
前端·javascript·vue.js
Dontla5 小时前
为什么React列表项需要key?(React key)(稳定的唯一标识key有助于React虚拟DOM优化重绘大型列表)
javascript·react.js·ecmascript
德育处主任Pro7 小时前
『React』Fragment的用法及简写形式
前端·javascript·react.js
CodeBlossom8 小时前
javaweb -html -CSS
前端·javascript·html
CodeCraft Studio8 小时前
【案例分享】如何借助JS UI组件库DHTMLX Suite构建高效物联网IIoT平台
javascript·物联网·ui
打小就很皮...8 小时前
HBuilder 发行Android(apk包)全流程指南
前端·javascript·微信小程序
dancing99911 小时前
cocos3.X的oops框架oops-plugin-excel-to-json改进兼容多表单导出功能
前端·javascript·typescript·游戏程序