博主信息
博文 2
粉丝 0
评论 0
访问量 1611
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
1222 flex容器与项目的常用属性实例演示
老衲法号
原创
619人浏览过

dom结构

  1. <div class="container">
  2. <div>item1</div>
  3. <div>item2</div>
  4. <div>item3</div>
  5. <div>item4</div>
  6. <div>item5</div>
  7. <div>item6</div>
  8. </div>

基础样式

  1. * {padding:0;margin:0;box-sizing:border-box;}
  2. .container{
  3. display:flex;
  4. height:20em;
  5. border:1px solid red;
  6. padding:1em;
  7. }
  8. .container>div{
  9. width:5em;
  10. /*height:2em;*/
  11. background:black;
  12. }

一 . felx容器属性

  1. flex-flow : 主轴方向以及项目换行方式

    • 主轴为水平方向 不允许换行 超出后项目会压缩(默认)

      1. .container{
      2. flex-flow:row nowrap;
      3. }
    • 主轴为水平方向 允许超出后换行

      1. .container{
      2. flex-flow:row wrap;
      3. }
    • 主轴为垂直方向 不允许换行 超出后项目会压缩

      1. .container{
      2. flex-flow:column nowrap;
      3. }
    • 主轴为垂直方向 允许超出后换行

      1. .container{
      2. flex-flow:column nowrap;
      3. }
  2. justify-content : 项目在主轴上的对齐方式

    前提:在主轴上有剩余空间

    2-1 所有项目视为一个整体,在项目整体两边进行剩余空间的分配(3个)

    • 开始对齐
      1. .container{
      2. justify-content:flex-start;
      3. }
    • 末尾对齐
      1. .container{
      2. justify-content:flex-end;
      3. }
    • 居中对齐
      1. .container{
      2. justify-content:center;
      3. }

    2-2所有项目视为独立的个体,在项目之间进行分配

    • 两端对齐:首尾项目之间进行分配,即第一个和最后一个之间分配
      1. .container{
      2. justify-content:space-between;
      3. }
    • 分散对齐:在每个项目的两边平均分配
      1. .container{
      2. justify-content:space-around;
      3. }
    • 平均对齐:在每个项目之间平均分配
      1. .container{
      2. justify-content:space-evenly;
      3. }
  3. align-items: 单行容器中项目在交叉轴上的对齐方式
    • 默认拉伸 :填满整个空间(项目不能设置高度)
      1. .container{
      2. align-items:stretch;
      3. }
    • 开始对齐
      1. .container{
      2. align-items:flex-start;
      3. }
    • 末尾对齐
      1. .container{
      2. align-items:flex-end;
      3. }
    • 居中对齐
      1. .container{
      2. align-items:center;
      3. }
  4. align-content: 项目在多行容器交叉轴上的对齐方式

    • 默认拉伸 :填满整个空间
      1. .container{
      2. align-content:stretch;
      3. }
    • 开始对齐
      1. .container{
      2. align-content:flex-start;
      3. }
    • 末尾对齐
      1. .container{
      2. align-content:flex-end;
      3. }
    • 居中对齐
      1. .container{
      2. align-content:center;
      3. }
    • 两端对齐:首尾项目之间进行分配,即第一个和最后一个之间分配
      1. .container{
      2. align-content:space-between;
      3. }
    • 分散对齐:在每个项目的两边平均分配
      1. .container{
      2. align-content:space-around;
      3. }
    • 平均对齐:在每个项目之间平均分配
      1. .container{
      2. align-content:space-evenly;
      3. }

二 . felx项目属性

1 flex :设置某个项目是否放大缩小和 宽度(默认就是width),通常用在某一个项 目上
格式: flex:flex-grow(放大因子) flex-shrink(缩小因子) flex-basis

  1. .container>.item:first-of-type{
  2. flex:1 1 auto;/*允许放大缩小*/
  3. }
  1. 只设置一个的时候,指的是设置放大因子,即上面写法简写为:
  1. .container>.item:first-of-type{
  2. flex:1;/*允许放大缩小*/
  3. }

例子:设置第2第3个是第一个的4倍

  1. .container>.item:first-of-type{
  2. flex:1;
  3. }
  4. .container>.item:nth-of-type(2),.container>.item:nth-of-type(3){
  5. flex:4;
  6. }

2 align-self :设置某个项目在交叉轴上的对齐方式(stretch,flex-start,flex-end,center)
auto:默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 “stretch”。

  1. 例子:设置第一个居中 第二个开始末端对齐
  1. .container>.item:first-of-type{
  2. align-self:center;
  3. }
  4. .container>.item:nth-of-type(2){
  5. align-self:flex-end;
  6. }

3 order 设置某项目在主轴上的排列排序,支持负数,数值越小越靠前,越大越靠后,默认值是 DOM中的 顺序

  1. .container>.item:first-of-type{
  2. order:5;
  3. }
  4. .container>.item:nth-last-of-type(2){
  5. order:-1;
  6. }
  7. .container>.item:nth-last-of-type(3){
  8. order:-2;
  9. }
  10. .container>.item:last-of-type{
  11. order:1;
  12. }
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学