浮动高度坍塌
现象解释
当元素设置浮动而父元素的宽高没有设置时,高度会塌缩为0
解决方案
固定高度
给父标签添加一个高度,或者增加一个固定高度的子div,但是这样限定固定高度会使页面操作不灵活,不推荐
清除浮动(推荐)
clear语法:clear : none | left | right | both取值:none : 默认值。允许两边都可以有浮动对象left : 不允许左边有浮动对象right : 不允许右边有浮动对象both : 不允许有浮动对象但是需要注意的是:clear属性只会对自身起作用,而不会影响其他元素
父级标签overflow
overflow:hidden;overflow:auto;
利用伪类
css布局
流动模型(Flow)(默认)
浮动模型(Float)
层模型(Layer)
a. 相对定位
position: relative;参照位置: 相对于其在普通流中的位置进行定位
b. 绝对定位
position: absolute;参照位置: 向上查找,如果遇到某个父元素设置了定位(任何一种),就以这个父元素为基准。如果没有遇到任何父元素的定位,就会依据网页的位置来定位。
c. 固定定位
position: fixed;参照位置: 完全不考虑父元素(包括body也不考虑)是否设置定位,直接将自己的等级上升到全局。依据网页的位置来定位。
d. flex
| 属性 |
说明 |
值 |
默认值 |
| display |
定义一个flex容器 |
flex |
flex |
| flex-direction |
决定主轴的方向(即项目的排列方向) |
row (水平从左到右)| row-reverse(水平从右到左)| column(垂直从上到下) | column-reverse(垂直从下到上) |
row |
| flex-wrap |
一排放不下的时候,决定项目的排列 |
nowrap (不换行,项目都排在一条线(又称”轴线”)上)| wrap (换行)| wrap-reverse(换行,且颠倒行顺序,第一行在下方) |
nowrap |
| flex-flow |
flex-direction 属性和 flex-wrap 属性的简写形式 |
flex-flow: || ; |
row nowrap |
| justify-content |
设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式 |
flex-start(弹性盒子元素将向行起始位置对齐) | flex-end (弹性盒子元素将向行结束位置对齐)| center(向行中间位置居中对齐) | space-between (平均地分布在行里)| space-around(平均地分布在行里,两端保留子元素与子元素之间间距大小的一半。(ps类似所有的div加上了padding:0px 10px)) |
flex-start |
| align-items |
设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式 |
flex-start (弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界)| flex-end(靠住侧轴结束位置) | center(侧轴居中) | baseline() | stretch |
flex-start |
| align-content |
设置或检索弹性盒堆叠伸缩行的对齐方式 |
flex-start(各行向弹性盒容器的起始位置堆叠) | flex-end | center | space-between | space-around | stretch |
| 属性 |
说明 |
值 |
默认值 |
| order |
根据order的数值排序,数值小的在前面 |
【integer】一个数值,负数也行 |
|
| flex-grow |
设置或检索弹性盒的扩展比率,根据弹性盒子元素所设置的扩展因子作为比率来分配剩余空间 |
【number】 |
0 |
| flex-shrink |
设置或检索弹性盒的收缩比率,根据弹性盒子元素所设置的收缩因子作为比率来收缩空间 |
【number】 |
1 |
| flex-basis |
设置或检索弹性盒伸缩基准值,如果所有子元素的基准值之和大于剩余空间,则会根据每项设置的基准值,按比率伸缩剩余空间 |
| auto |
auto |
| felx |
flex属性是flex-grow, flex-shrink 和 flex-basis的简写 |
none | [ <’flex-grow’> <’flex-shrink’>? || <’flex-basis’> ] |
0 1 auto。后两个属性可选 |
| align-self |
设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式,可以覆盖父容器align-items的设置 |
auto | flex-start | flex-end | center | baseline | stretch; |
auto |
DIV全局居中
<!DOCTYPE html><html><head><title></title><style type="text/css">#div2 {display: flex;height: 100vh;justify‐content: center;align‐items: center;}#div1 {border: 1px solid red;height: 50px;width: 50px;margin: 0 auto;}</style></head><body><div id="div2"><div id="div1"></div></div></body></html>
<!DOCTYPE html><html><head><title></title><style type="text/css">#div2 {position: fixed;top: 0;right: 0;bottom: 0;left: 0;display: inline‐block;vertical‐align: middle;text‐align: center;}#div1 {display: inline‐block;border: 1px solid red;height: 50px;width: 50px;margin: 0 auto;}/*为了撑开页面,创建伪类*//*此方法是antd的modal组件居中的方法*/ #div2:before{display: inline‐block;width: 0;height: 100%;vertical‐align: middle;content: '';}</style></head><body><div id="div2"> <div id="div1"> </div></div></body></html>
CSS画三角形
.triangle {width: 0;height: 0;border‐style: solid;border‐width: 100px;border‐color: blue blue transparent transparent;}
雪碧图
多个图片集成在一个图片中的图
使用雪碧图可以减少网络请求的次数,加快允许的速度
通过background-position,去定位图片在屏幕的哪个位置
哪些css可以继承
理解绝对单位与相对单位
贝塞尔曲线cubic-bezier