css全称Cascading style sheet(层叠样式表)
样式的权重,见精通css高级Web标准解决方案一书
浏览器如何解析对应的选择器
- 从右往左进行解析(反过来解析,比如 .body div .hello,先找hello这个类,然后找到上面有div的,然后找到上面有body类名的)这样做是出于性能考虑,这样可以直接过滤掉不符合的范围。
伪元素和伪类
- 伪元素是一个真是存在页面中,可以被显示的元素,用::,考虑到兼容性问题,要用到:
- 伪类是元素触发的状态,并不是真是存在的元素用:
选择器权重
- ID选择器 +100
- 类选择器 +10
- 元素选择器 =1(a)
- 其他选择选择器 +0
- css的权重是不进位的,就是说11个类名相加也不会是110,多少个类选择器都不会超过ID选择器(官大一级压死人)
- !importatn优先级最高
- 内联样式比外部高
- 同样高的样式后面的会覆盖前面的
CSShack(不合法但是生效的写法)
- 表示只在某些特定的浏览器下生效
- 一般用来处理处理器兼容性
- 比较难维护、难理解、易失效
- 可以使用特性检测、针对性加class
- 好处就是可以立马生效
- 目前的浏览器的兼容性越来越好,需要使用hack的地方也越来越少
base64
- 将图片转换成字符串
- 减少请求,加快渲染
- 但是体积会增大1/3,所以适用于小图片
行高
*line-box的高度由内联的inline-box的行高组成
行高有line-box组成,line-box的高度由inline-box的高度组成
解决inline-block的文字间隙问题
使用font-size:0;将文字大小改为0,行内元素的间隙就没有了
v1.5.2