移动web (03)分享

73 阅读2分钟

flex布局

屏幕

屏幕尺寸

指的是屏幕对角线的长度,一般用英寸来度量

分辨率
设备分辨率

是生产屏幕时就固定的,它是不可被改变的

逻辑分辨率

由软件驱动决定

视口

布局视口
理想视口

使用meta标签设置视口宽度,制作适配不同设备宽度的网页

视口:name="viewport" 屏幕宽度:content="width=device-width 缩放:initial-scale=1.0(没有缩放) 最大缩放程度:maximum-scale=1.0 最小缩放程度 :minimum-scale=1.0 允许用户双击放大缩小:user-scalable=no

<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

flex布局(弹性布局)

语法:display:flex

    <style>
        div{
            display: flex;
        }
    </style>

特点: 父盒子项设置,盒子里的元素称为子项,会发生具体变化 1.不再区分什么块级,行内块和行内,全部可以设置宽高 2.子项默认的宽度由内容撑开,高度与父项相同 3.子项:(使用浮动没有效果)使用定位、margin、transform都有效 4.默认情况下,子项的总宽度大于父项的宽也不会换行,flex不会换行,只会压缩自身的宽度

主轴对齐方式

语法:justify-content:xxx(写在父盒子里)

    <style>
        div{
            display: flex;
            justify-content: flex-start;
        }
    </style>

左对齐:flex-start

1647526832550.png 右对齐:flex-end

ter 1647526854874.png

先两侧对齐,间隔摆放:space-between (sb)

1647526742924.png

间隔摆放,两侧空间小于中间空间:space-around (sd)

1647526761502.png

绝对平均:space-evenly (sv)

1647526786534.png

侧轴对齐方式(单行)
  1. 上对齐;align-items: flex-start;

1647570690734.png

  1. 水平对齐方式: align-items: center;

1647570742853.png

  1. 下对齐:align-items: flex-end;

1647570780723.png

换行

默认情况下

​ 1 flex不会换行的!!

​ 当子元素的总宽度大于父元素的时候 不会换行

​ 只会 挤压子元素

​ 2 设置 换行属性

​ flex-wrap:wrap

​ 不换行 no wrap

1647570831098.png

侧轴对齐方式(多行)

/* 上对齐 */

​ /* align-content: flex-start; */

1647571027983.png

​ /* 下对齐 */

​ /* align-content: flex-end; */

1647571004296.png

​ /* 居中对齐 */

​ /* align-content: center; */

1647571050026.png

​ /*上下对齐 */

​ /* align-content: space-between; */

1647571072370.png

​ /* 间隔存放 */

​ /* align-content: space-around; */

1647571087367.png

​ /* 绝对平均 */

​ /* align-content: space-evenly; */

1647571109689.png

修改主轴方向

flex-direction

  1. row 默认值 水平方向 从左到右 少用

  2. row-reverse 从右到左 少用

  3. column 从上到下 会用

  4. column-reverse 从下到上 少用

    flex-direction:column;
    

子项

  1. 默认的宽度 由内容撑开

  2. 默认的高度 等于父项的高

  3. 如果你修改了 主轴的方向 以上的效果 反过来

    flex-direction:column;
    
  4. 子项 默认的宽度 等于父项的宽度

  5. 子项的高 由内容撑开

1647605451558.png