![HTML5+CSS3+JavaScript 从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/418/31794418/b_31794418.jpg)
4.4 动态伪类选择器
伪类选择器并不是针对真正的元素使用的选择器,只针对CSS中的伪元素起作用。
4.4.1 内容相关的属性
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P68_16019.jpg?sign=1739188514-UrKVSrQOqLURyCHz8KbDoDbqAuZ0J4F1-0-92e0fcdb0d21b5c475888d4dbd93faeb)
内容相关的属性与CSS其他属性一样,同样需要定义在CSS样式的大括号内。content属性是CSS支持的内容相关属性中最重要的一个,该属性的值可以是字符串、url、attr、open-quote等格式,该属性用于向指定元素之前或之后插入指定内容。
【例4-7】(实例文件:ch04\Chap4.7.html)内容相关的属性。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P68_119746.jpg?sign=1739188514-2s5gLtzXyf9FpgmsztDcDKyReW6d1X9D-0-da4ebc61168910f58dc0e93a27bce6cf)
在上面的代码中,为每一个li之前添加字符串,并设置了字体颜色为红色。
相关的代码实例请参考Chap4.7.html文件,在IE浏览器中运行的结果如图4-10所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P68_16007.jpg?sign=1739188514-Pz7stGuuQ6c0WuH3E8yRqM3NXE5bqAL9-0-fcbf534ce108d74162d785efcb360308)
图4-10 内容相关的属性
4.4.2 插入图像
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P68_16020.jpg?sign=1739188514-P7vrA8rfI1keeGcLusyuXyEZeZd4gYFA-0-367e94e82fd21e7f097e3bb6959f71d3)
content属性值除了可以添加字符串外,还可以添加图片,代码如下。
content: url("src")
src指定图片的路径。
【例4-8】(实例文件:ch04\Chap4.8.html)插入图片。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P69_119747.jpg?sign=1739188514-BCYz1AoEmsrmLPIq5jHwiVW3d8vGYLmP-0-fc443d4fd513a2dd2cfafde51870137e)
相关的代码实例请参考Chap4.8.html文件,在IE浏览器中运行的结果如图4-11所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P69_16159.jpg?sign=1739188514-4Q7DtbKl0prBPDW7EGuJh9ZUasc9Oali-0-f503ef672d7a046d2dae80fb1bcc5377)
图4-11 插入图像
4.4.3 只插入部分元素
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P69_16194.jpg?sign=1739188514-vPqNNpXZxupfhWqcJLmHl6HjRGXWOim5-0-a1c041e599691e947133f6292a81a7a4)
有时候只想为一部分元素添加内容,这时需先把要添加内容的元素找到,如只想给前两个元素添加内容,只需找到前两个元素的选择器,再在其后面添加伪类选择器,这样就可以设置其内容了。
【例4-9】(实例文件:ch04\Chap4.9.html)只插入部分元素。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P69_119748.jpg?sign=1739188514-jcofTCnku6QWGOh5ac2h3k8Ie7vdpEBI-0-68c1839fbbf1b9ebea50ef624e650323)
相关的代码实例请参考Chap4.10.html文件,IE浏览器中运行的结果如图4-12所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P70_16299.jpg?sign=1739188514-3t5bVcTsUM4236XIc7VY9pD7I4PxaG5Y-0-418bc4ba091758489bff619e417a7a97)
图4-12 只插入部分元素
4.4.4 配合quotes属性执行插入
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P70_16414.jpg?sign=1739188514-A4Aa91AzcLDNGfylMvF43amFrLPTDney-0-4fd9ed7c8b71ac65465b24bfb8fd8c14)
quotes属性可以定义open-quote和close-quote,然后就可以在content属性中应用它们了。
【例4-10】(实例文件:ch04\Chap4.10.html)配合quotes属性执行插入。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P70_119750.jpg?sign=1739188514-5wOCJG4qfqKcV58Pue0rrie430yHOsTw-0-9fe43162d02622cd7ebd057eebeb9fc7)
相关的代码实例请参考Chap4.10.html文件,在IE浏览器中运行的结果如图4-13所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P71_16498.jpg?sign=1739188514-j2GYgFjQV3HLHqBSlgnBKtXqAmZFi4S6-0-d3d4de006037ac4a30ca74d852c8c185)
图4-13 配合quotes属性执行插入
4.4.5 配合counter-increment属性添加编号
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P71_16617.jpg?sign=1739188514-RiJXtmNOdDq2HgZCQeX2wYaqVjnkw0D1-0-bd66913c17d428c4d21bc405b3f5d58b)
counter-increment属性用于定义计数器,如要给多条内容添加编号,就可以通过该属性来设置。定义计数器很简单,只需给需要添加编号的元素定义一个计数器,然后结合content属性在该元素前面添加这个计数器,就可以实现编号了。
【例4-11】(实例文件:ch04\Chap4.11.html)配合unter-increment属性添加编号。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P71_119752.jpg?sign=1739188514-r09tDBHWcU3KluGKgyaXVpTZ7BJLov6E-0-57f3cb3ccb64b143e27556b6ff5ef5b4)
相关的代码实例请参考Chap4.11.html文件,在IE浏览器中运行的结果如图4-14所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P72_16678.jpg?sign=1739188514-wORKoXxgH11qbGo58K6q1fANfMBj9pTN-0-6da50b106c891a2bb9e4b06882741a25)
图4-14 计数器添加编号效果
4.4.6 使用自定义编号
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P72_16855.jpg?sign=1739188514-5iV0IggCA36ahHlhKLW3eUpe4Zanbtsn-0-d11e0b44442c70100760ab79f5e31576)
从上面的案例可以发现,CSS默认的编号样式是数字,但有时我们还需要使用自定义编号来满足不同的需要。我们可以通过counter(name,list-style-type)用法来实现使用自定义编号,name是计数器的名字,list-style-type指定自定义编号的样式,它的一部分取值如表4-1所示。
表4-1 自定义编号部分取值
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-T72_119824.jpg?sign=1739188514-3umCY3ICkUoBayGh9fkatLIjMfXSPet3-0-301ca4d2590ba3422e4785ee5388dad5)
【例4-12】(实例文件:ch04\Chap4.12.html)使用自定义编号。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P72_119754.jpg?sign=1739188514-atQvJkrKXyYIerBmDVXInDdEMTQ6BDIY-0-a943adc4f1cbbc8b62cb0a1a002fd0b9)
相关的代码实例请参考Chap4.12.html文件,在IE浏览器中运行的结果如图4-15所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P73_16956.jpg?sign=1739188514-X1gH2CrxXDhIUqDUVYnjwQA6p3JX3Ejw-0-97e2456780d432553a4bf91365eadb8e)
图4-15 使用自定义编号
4.4.7 添加多级编号
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P73_17064.jpg?sign=1739188514-xgMzeeydWvj24fsFgNKteqohmmw1Hxyy-0-5f6f54b85a9a17735156c3f618d5fafd)
在上面案例中,只是添加了一级编号,还可以添加多级编号,像书的目录一样,可以有多级的编号。下面就使用计数器来实现一个简单的目录形式的编号。
【例4-13】(实例文件:ch04\Chap4.13.html)添加多级编号。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P73_119756.jpg?sign=1739188514-VbyRtAW89jIrA8WHJsmwe346iVSqBgkE-0-f9cef5c49b8c4609875e6e685ebaa939)
相关的代码实例请参考Chap4.13.html文件,在IE浏览器中运行的结果如图4-16所示。
我们会发现第二级编号是连续的,正常情况下每一章的第一节应该从1开始,上面的效果不是我们想要的,但是我们可以通过counter-reset属相来改变,该属性用于重置计数器。我们在h2样式中添加“counter-reset:order2;”即可,这样就会重置order2计数器,显示效果如图4-17所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P74_17149.jpg?sign=1739188514-aW1We98FjZVS5QhX7lW6tsQiFBd01J6A-0-f8fbb98863b2e5a3d0de9c696c2e466d)
图4-16 多级计数器的应用
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P74_17157.jpg?sign=1739188514-Cngr0XG2BDRqponfVB6Nhz8Yfblndi9S-0-28bb2d8b56ae9ee16c9ac9cef4e5b22b)
图4-17 重置order2计数器后的效果