站在CSS3的肩上定义选择器
按上下文选择元素
-
按祖先元素选择要格式化的元素
- 输入ancestor,这里的ancestor是希望格式化的元素的祖先元素的选择器。
- 输入一个空格(必不可少)。
- 如果需要,对后续的每个祖先元素重复第(1)和 (2)步。
- 输入descendant,这里的descendant是要格式化的元素的选择器。
-
按父元素选择要格式化的元素
- 输入parent,这里的parent是包含直接格式化的元素的选择器。
- 输入>(大于号)。
- 如果需要,对后代每个父元素重复第(1)步和第(2)步。
- 输入child,这里的child是要格式化的元素的选择器。
.architect > p{
color:red;
}
/*这个选择器仅仅选择architect类元素的子元素(而非子子元素,子子子元素等)的p元素。包含于任何其他元素的p元素均不会被选择*/
-
按相邻同胞元素(sibling)选择要格式化的元素
...
<body>
<h1></h1>
<p></p>
<h2></h2>
</body>
/*
相邻同胞元素是直接相互毗邻的元素,即他们之剑没有其他的同胞元素
*/
-
- 输入sibling,这里的sibling是包含在同一元素中的、直接出现在目标元素钱的元素的选择器。
- 输入 + (加号)。
- 如有需要,对每个后续的同胞元素重复第(1)步和第(2)步。
- 输入element,这里的element是要求格式化的元素的选择器。
.architect p+p{
color:red;
}
/*相邻同胞结合符只选择直接跟在同胞p元素之后的元素*/
/*
普通同胞元素结合符:可以选择那些并非直接出现在另一个同胞元素后面的同胞元素。它与相邻同胞结合符的唯一区别是使用~(波浪号)代替 +(加号)。例如,h1~h2{color:red;}会让任何属于同一父元素的同胞h1后面的h2元素显示为红色(它们可以直接相邻,也可以不直接相邻)
*/
选择第一个或最后一个元素
:first-child 选择第一个子元素
:last-child 选择最后一个子元素
选择元素的第一个字母或者第一行
:first-letter 选择元素的第一个字母
:first-line 选择元素的第一行
几个常用的伪类
:link 未被激活的链接样式
:visited 已激活过的链接样式
:focus 获取鼠标焦点的样式
:hover 设置光标指向链接是链接的外观
:active 激活过的链接的外观
按属性选择元素
a:[attribute] 匹配具有指定属性attribute,无论具体值是什么的a标签
a: [attribute="value"] 匹配指定属性值的a标签
a:[attribute~="value"] 属性值是以空格分隔的多个单词,其中有一个完全匹配指定值
a:[attribute|="value"] 属性值以value-打头
a:[attribute^="value"] 属性值以value开头,value为完整的单词或单词的一部分
a:[attribute$="value"] 属性值以value结尾,value为完整的单词或单词的一部分
a:[attribute*="value"] 属性值为指定值的子字符串

浙公网安备 33010602011771号