最后一种属性选择器是特定属性选择类型,例子如下:
*[lang|=”en”] {}/* 选择lang属性为en或以en-开头的所有元素 */
img[src|=”figure”] {}/* 可以用来选择图片名为“figure-”的系列图片 */
6、根据HTML标签的嵌套关系选择元素:
一种是选择后代元素:
h4 em {}/* 为h4元素的后代em元素添加样式 */
ul ol li em {}/* 后代选择器,不局限于两个选择器 */
一种是选择子元素:
加入有HTML代码:
<h2>This is <strong>very</strong> important.</h2><!– strong元素是h2的子元素、后代元素 –>
<h2>This is <em>really <strong>very</strong></em> important.</h2><!– strong元素是h2的后代元素而非子元素 –>
那么下面的CSS将使前面的“very”以粗体显示:
h2 > strong {color:red;}/* 选择作为h2元素的所有子元素中的strong元素 */
还有一种是选择相邻兄弟元素:当不想选择所有后代元素时,可用选择相邻兄弟元素的办法缩小选取范围:
h2 + p {}/* 选择紧跟在h2后面的p元素(注意是对p添加样式),它们是兄弟元素(必须有相同的父元素)*/
html > body tabke + ul {}/* 多种选择符的结合运用 */
注:IE6不支持子选择器和相邻选择器。
7、伪类:
只运用于链接得伪类有两个:“:link”和“:visited”,相信了解CSS的人都不陌生,这里不再举例;
动态伪类:在CSS2.1中包括三种:“:focus”、“:hover”和“:active”,在Web页面中常用的方式是与静态伪类结合:
a:link {}
a:visited {}
a:hover {}
a:active {}
伪类顺序很重要,个人的记忆方法为love-hate(爱与恨)。
动态伪类可以运用到任何元素,比如:
input:focus {background:#DDD;}/* 突出显示一个有输入焦点的表单元素 */
*:hover {background:gray;}/* 从body元素继承的所有元素在指针停留时会显示灰色背景 */
如果要选择元素的第一个子元素,可以用“:first-child”静态伪类:
CSS样式:
复制代码p:first-child,li:first-child {background:#CCC;}
HTML代码:
<div>
<p>p1</p><!– 背景为灰色 –>
<p>p2</p>
<ul>
<li>1</li><!– 背景为灰色 –>
<li>2</li>
<li>3</li>
</ul>
</div>
注意:IE6不支持“:first-child”静态伪类。
下面是关于结合伪类的用法:
a:link:hover {color:red;}/* 顺序可交换,即可以为a:hover:link,IE6中只会注意:hover而忽略:link部分 */










