一,css优先级
1,权重越高,优先级越高,就优先显示谁的样式
2,权重:*:0 标签:1 class:10 id:100
3,行间样式:1000 !important:优于行间样式
4,权重相同,后写的会覆盖先写的
5,复合选择器的权重为每个标签权重的累加
6,子代继承父元素样式的权重为0,子元素写的样式会覆盖父元素的、
7,行间引入优于外链引入和内部引入
8,外链引入和内部引入会采取就近原则
二,css层叠性:
当一个标签样式发生冲突的时候,要决定显示哪个样式
1,当样式不冲突时,多个样式同时作用于标签
2样式冲突时,不同的选择器,由选择器优先级来决定
三,css长度单位
1,px 固定单位
2,em 相对单位是父元素的font-size em*size 不设置1em=16px
3,百分比 相对单位为父元素的大小
4,rem 相对单位 相对于html的font-size 不设置:1rem=16px
四,图片居中
1,给父元素设置水平居中 text-align:center
2,给图片标签转为块级标签,再设置margin
五,css浮动
1,浮动可以使元素【脱离文档流】,按指定顺序,知道遇见父元素的边界或另一个浮动元素停止
2,float:浮动 left左浮动 right 右浮动
3,浮动的特性:
1,浮动元素脱离正常标准流不脱离文本流,也就是元素浮动后不占位
2,提升层级
3,父元素高度为0时,子元素设置浮动后会导致父元素高度塌陷
4,子元素宽度之和大于父元素的宽度会自动折行
5,可以使行级标签支持宽高
注:任何标签都可以设置浮动,元素设置浮动后,不再区分标签的分类了,都类似于行内块标签
六,为什么要清除浮动
1,子元素设置浮动后,脱离正常标准,不占位,会导致父元素高度塌陷
导致父元素的背景颜色无法显示背景,边框无法正常显示,会影响正常布局
七,清除浮动的方法
1,给父元素设置固定高度
2,给父元素设置overflow:hidden auto scroll
3,给父元素设置浮动(不用)
4,设置一个与浮动元素呈并列关系的位置,加一个不浮动的块元素,在空的div标签上加上
属性:clear:both
clear:left 清除左侧浮动带来的影响
clear:right 清除右侧浮动带来的影响
clear:both清除两侧浮动带来的影响
5,用伪元素清除浮动,给浮动元素的父级盒子加类名 .clearfix ,并在clearfix中添加样式
.clearfix::after{
content: '';
display:block
clear:both}
八.伪元素
伪元素创造出来的标签是行级标签
element::before{contet::“伪元素的文本内容” 属性名:属性值;}
element::after{contet::“伪元素的文本内容” 属性名:属性值;}