flex&多行布局

                                                                **flex&多行布局**

盒模型

组成部分:content+padding+border+margin

1.标准的盒模型

常见的问题

margin值会错误解析

padding值会撑大盒子大小

计算方式:padding和border都是算在盒子的外部的

2.IE盒模型(怪异盒模型):当文档丢失了文档类型的时候,在低版本的IE浏览器上,盒模型的计算方式发生了改变

特点:padding和border是长在宽高大小内的

padding值不会撑大容器的大小了

padding和border都是在盒子内的,不需要减去相应的值

计算方式:

自身大小 content(包含border和padding的)

实际大小 content(包含border和padding 的)+margin

属性:box-sizing 设置盒子的显示尺寸

content-box 标准盒模型

border-box 怪异盒模型 常用于移动端 pc端也可以使用

弹性盒

控制子级元素在父级元素上的排列位置

属性:display

属性值:flex

让当前的父级区域形成弹性盒,给父级容器添加弹性盒属性

弹性盒环境下,默认主轴是X轴 所有的子级元素默认都会沿着X轴进行排列

弹性盒中 主轴和侧轴是相对应 默认主轴是X轴 侧轴就是Y轴

在弹性盒环境下不考虑元素类型 所有的标签都可以直接设置宽高大小

居中:

表格居中

文本居中

图片居中

背景居中

定位居中

位移居中

计算属性居中 calc

弹性盒居中:单个元素

magrin:auto

注意:

在弹性盒中浮动是不可以使用的

定位,盒模型(margin/padding)

弹性盒详解

弹性盒中的属性很多

添加到父级元素上的属性 控制所有子级元素的排列位置

添加到子级元素上的属性 控制单个子级元素的排列位置

1.改变主轴的方向(默认主轴是X轴)

属性:flex-direction

属性值:

重要的 row 行/水平 x轴

重要的 column 列/垂直 y轴

了解: row/column-reverse 默认主轴是x/y轴 顺序是相反的

  1. 控制元素在主轴上的对齐方式

    属性:justify-content

    属性值:flex-start/end center

    重要的属性值

    space-between 两端对齐 其余空间自动分配

    space-around 所有的空间都是自动分配的 左右空间是一样的

    space-evenly 所有的空间间距都是一样大小

    3.控制元素在侧轴上的对齐方式

    属性:align-items

    属性值:flex-start/end

    center;

    拓展:基线对齐 baseline

    当子级元素都设置宽高大小。设置baseline和flex-start效果一样

    基线对齐:文本元素 文本大小虽然不一样 但是都在基线上对其显示

    4.弹性盒默认宽度超出是不会换行的 默认是进行挤压的

    换行属性:flex-wrap

    属性值:

    nowrap 不换行

    wrap 换行

    5.行与行之间的间距

    属性:align-content

    属性值:flex-start 行与行在开始的位置显示 重点/常用

    flex-end

    center

    space-between/around

    添加在子级元素上的属性

    1.控制单个元素在侧轴上的对齐方式

    属性:align-self

    属性值:flex-start/end

    center

    auto 继承了父级的侧轴对齐方式

    父级有侧轴对齐 就和父级效果一样

    父级没有侧轴对齐 就会拉伸(高度不能有)

    stretch(拉伸)

    2.排序优先级,数字越大越往后排,默认为0,支持负数

    属性:order

    属性值:number

    3.属性:flex

    属性值:number 所占的比例

    重要常用的属性值flex:1

    占据主轴上剩下的空间

    撑大当前容器的大小(内容)

    flex-grow

     

    flex-shirnk

     

    flex-basis

     

     

flex&多行布局

上一篇:Nodejs AES加密


下一篇:为什么JS动态生成的input标签在后台有时候没法获取到