#### 1.什么是flex布局
工作中比较常用,display属性的一种,添加了这个属性,可以比较容易的实现垂直水平居中等一些样式
#### 2.添加了display:flex,父元素有哪些属性
~~~
flex-direction
flex-wrap
justify-content
align-items
flex-flow
~~~
* flex-direction: 决定主轴的方向,默认是横向, row-reverse是反方向排序
~~~
flex-direction: row | column | row-reverse | column-reverse
~~~
* flex-wrap: 超出时换行,默认不换行,会导致挤压
~~~
flex-wrap: wrap | no-wrap
~~~
* flex-flow: flex-direction flex-wrap 的简写
* justify-content:主轴的排列方式
~~~
justify-content: flex-start|flex-end|center|space-between|space-around|space-evenly;
space-between: 两端对齐,子元素之间间隔相对(0 1 1 1 0)
space-around: 子元素之间间隔相等,比子元素到父元素的间隔大一倍(0.5 1 1 1 0.5)
space-evenly: 父元素与子元素之间和子元素之间间隔相等 (1 1 1 1 1)
~~~
* align-items: 相对主轴的排列方式,默认是纵向,当主轴在纵向时,则变为横向
~~~
align-items: flex-start | flex-end | center | stretch | baseline
stretch--高度拉伸为100%
baseline--沿基线对齐(子元素第一行文字底部对齐)
~~~
#### 3.子元素的属性
~~~
order
flex-grow
flex-shrink
flex-basis
flex
align-self
~~~
* order: 定义子元素的排列顺序,数值越小排列越靠前,默认为0
~~~
.child1 {
order: 1;
}
~~~
* flex-grow:
* 定义子元素的放大比例,默认为0不放大,放大的方向根据主轴的方向来定,
* 如果所有项目数值都为1,就是所有项目等分剩余空间,如果有一个项目为2,其余为1时,前者占据的是后者的两倍
* 如果只有一个为1,就是该元素占据剩余所有的空间
~~~
.child1 {
flex-grow: 1;
}
~~~
* flex-shrink:
* 相对于flex-grow,当父元素空间不足时,定义子元素之前的相对缩小比例
* flex-shrink需要每个元素都定义
* flex: flex-flow flex-shrink flex-basis 的缩写
~~~
.child {
flex: 1; // 当flex为1的时候,默认占据剩余空间, 有可能是放大,也有可能是缩小
}
~~~
* flex-basis: 用于设置子元素伸缩的基准值,或者比例
~~~
flex-basis: 80%
~~~
* align-self: 允许单个项目与其他的项目不一样的对齐方式
- 空白目录
- 1. css选择器
- 1.1 基础选择器
- 1.2 伪类
- 1.3 first-child与:first-of-type的区别
- 1.4 nth-child(:not())与nth-of-type(:not())
- 1.5 属性选择器
- 2. html标签分类&css样式继承
- 2.1 html标签分类
- 2.2 样式继承
- 2.3 font
- 3. css动画
- 1. transition
- 2. animation
- 4. 布局位置方面
- 4.1 实现图片左右垂直居中
- 4.2 父元素中第一个子元素margin-top无效问题
- 4.3 position定位
- 5. 关于浮动
- 5.1 浮动的呈现效果
- 5.2 清除浮动的三种方式
- 5.3 inline-block与block浮动的对比
- 6. 弹性布局
- 7. border
- 7.1 添加border不影响盒子大小的三种方式
- 7.2 利用border画三角形
- 8. css预处理--sass
- 8.1 变量
- 8.2 嵌套
- 8.3 导入SASS文件
- 8.4 静默注释
- 8.5 混合器@mixin
- 8.6 继承@extend
- 8.7.function
- ! element语法
- 9. grid 布局
- 10. filedset 使用
- css面试题
- 1.题目汇总
- 2.回流(重排)和重绘
- 3.浏览器渲染流程
- 4.水平垂直居中
- 5.flex布局