这是我参加前端训练营笔记活动的第6天。
深入CSS
CSS简要发展历史
CSS1
解决网页排版布局和装饰问题,第一个有“层叠(cascading)”概念的语言
CSS2
表现和内容分离
CSS2.1
对CSS2的修正、扩展,代替CSS2
CSS3
规范模块化发展,样式丰富、酷炫,提高网站的可维护性以及性能速度
基础知识
层叠优先级
样式表来源(优先级最高)
样式表来源重要排序:(重要程度递增)
1、用户代理样式 浏览器默认样式
2、用户样式表 很少有
3、作者样式表 developer写的
4、作者样式表中的!important
5、用户样式表中的!important
6、用户代理样式表中的!important
选择器优先级(优先级次高)
基础选择器
#id:ID选择器
Tagname:类型选择器或标签选择器
.class:
*:通用选择器,该选择器匹配所有元素
组合器
子组合器(>):匹配的目标元素是其他元素的直接后代
相邻兄弟组合器(+):匹配的目标元素紧跟在其他元素后面
通用兄弟组合器(~):匹配所有跟随在指定元素之后的兄弟元素
复合选择器:多个基础选择器可以连起来使用
属性选择器
通过约束属性值
伪类选择器
选中处于某个特定状态或相对于其父级或兄弟元素的位置的元素
伪元素选择器
匹配在文档中没有直接对应HTML元素的特定部分或插入内容
源码位置(优先级最低)
1、对于@import的样式,根据@import的顺序
2、对于link和style标签的样式,根据在document中的顺序决定
其他
1、选择器尽量少用id
2、尽量不要用!important
3、自己的样式加载在引用库样式的后面