通配选择符 *
类型选择符 E
ID选择符 #id
类选择符 .class
后代选择符 E F
,选择所有符合条件的后代,包括儿子,孙子,孙子的孙子。与与子选择符E > F
不同。
子选择符 E > F
,选择他的直接子元素,不会选择孙辈。
相邻选择符 E + F
,选择紧贴在E元素之后的一个F元素,元素E和F必须同属一个父级。
兄弟选择符 E ~ F
,选择E元素后面的所有兄弟元素F,元素E和F必须同属一个父级,与相邻选择符E + F
不同。
E[att]
E[att=‘val‘]
E[att~=‘val‘]
,选择具有att属性且值为用空格分隔的字词列表,其中一个等于val的E元素。(包含了只有一个值且该值等于val的情况)
E[att^=‘val‘]
,选择具有att属性且以val开头的字符串的E元素。
E[att$=‘val‘]
,选择具有att属性且以val结尾的字符串的E元素
E[att*=‘val‘]
,选择具有att属性且字符串包含val的E元素
E[att|=‘val‘]
,选择具有att属性,并且值为val或者val-的E元素
:link,:visited,:hover,:focus,:active
:nth-child(n)
:nth-last-child(n)
:first-child
:last-child
:only-child
:nth-of-type(n)
:nth-last-of-type(n)
:first-of-type
:last-of-type
:only-of-type
E:checked
,处于选择状态的元素E,用于input type为radio与checkBox时。E:enabled
,处于可用状态的元素E。E:disabled
,处于不可用状态的元素E。E:target
,匹配相关URL指向的E元素。也就URL后面跟着的锚点#,指向文档内的某个具体元素。锚点#与id绑定。::first-letter
::first-line
::before
::after
::placeholder
::selection
规则的特殊性越高,则优先级越高。
规则的特殊性对应a,b,c,d四个级别:行内样式a,ID选择符的数目为b,类选择符\伪类选择\属性选择符为c,类型选择符\伪元素选择符的数目为d。(a,b,c,d对应于十进制0,0,0,0)
度量web性能的一个重要指标就是网页内容实际显示在屏幕上需要多久。【渲染时间】
让浏览器渲染内容就需要先加载HTML和CSS,那么让浏览器最快下载HTML和全部CSS很重要。
减少HTTP请求,因为每一个文件都需要发送一个HTTP请求,很浪费时间。
压缩很缓存内容,压缩CSS,设置CSS文件缓存时间。
避免JS阻塞浏览器,一种方法是script标签放到body最后位置,另一种是使用script的async和defer属性。async和defer都是异步加载,但前者下载后就会立即执行,后者则在HTML解析后执行。(async经常出错,建议用defer)
原文:https://www.cnblogs.com/wljqds/p/12727559.html