基本的选择器
名称 | 符号 | 说明 |
---|---|---|
id选择器 | # | 根据id选择元素 |
类选择器 | . | 例如 .class1.class2 选择class同时包含class1和class2的元素 |
元素选择器 | 标签名 | 例如 p 选择p标签 |
子选择器 | > | 只选择直接子元素(只选儿子,孙子不选) |
后代选择器 | 空格 | 选择后代元素(儿子孙子等都选) |
选择器分组 | , | 例如p,div选择p标签和div标签 |
相邻兄弟选择器 | + | 例如 div + p 选择紧跟在div标签后的p标签(不选div标签) |
兄弟选择器 | ~ | 例如 div ~ p 选择在div标签后的所有p标签(不选div标签) |
伪类 | : | 主要是选择非真实存在的类,如a:hover选择鼠标指着的超链接 |
伪元素 | : | 选择非真实存在的元素,例如p:first-line选择p标签下的第一行 |
属性选择器 | [] | 根据属性选择元素,例如a[href][title]就是选择同时具有这两个属性的超链接, 还可以为属性指定特定值,如href=”“,这里还有几种特殊的匹配符号。 |
属性选择器的匹配符
符好 | 说明 |
---|---|
^= | 以……开头 |
$= | 以……结尾 |
*= | 包含…… |
~= | 用与选定包含的词汇,例如p.test等价与p[class~=”test”]。(选定方式和class相同?用空格隔开?) |
|= | 选定以指定词汇开头,例如*[lang|=”en”]选定lang属性等于”en”或者”en-xxx”的元素 |
注意:
- *是css中的通配符,表示任意标签。
- 伪类中存在一些顺序上的问题
- a:hover必须在a:link和a:visited后才有效
- a:active必须在a:hover之后才有效