![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=1739381913-JZd5KQNsSkPe6FyRBABztkEbszPQWL1e-0-eb3379fc6721824a23b6adc1bea81d6a)
内容相关的属性与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=1739381913-4CDf5qXgAcUKHoSGMoOQo5Y2IlVEvOSW-0-e0064f2e81f07a826beb8e6fc4198365)
在上面的代码中,为每一个li之前添加字符串,并设置了字体颜色为红色。
相关的代码实例请参考Chap4.7.html文件,在IE浏览器中运行的结果如图4-10所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P68_16007.jpg?sign=1739381913-m5oRTUDlaFDua7a5BrWEReZgKE8MQOkU-0-b3b2f0ebc53106414556bc38009cca73)
图4-10 内容相关的属性
4.4.2 插入图像
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P68_16020.jpg?sign=1739381913-nCxxdKpWLYTqmEfbxFQ9opXH45ZWaNbS-0-d3ac837c2279009ecc81c71a073c10ed)
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=1739381913-XozjstyxaI67EqbC94T1Ktdii50FgZUG-0-2951d18590ca112a3e0a37e284294699)
相关的代码实例请参考Chap4.8.html文件,在IE浏览器中运行的结果如图4-11所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P69_16159.jpg?sign=1739381913-lgtmLnbPidGHuEGFsEmmiBIsNptbXwzC-0-7150824ed610d09d35b9a70bab14a6fc)
图4-11 插入图像
4.4.3 只插入部分元素
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P69_16194.jpg?sign=1739381913-ffZCqNCWiSS9BA1nsGtBXHoY1RhBj15u-0-4faa893c342029e06bc3f5ca4cfe9348)
有时候只想为一部分元素添加内容,这时需先把要添加内容的元素找到,如只想给前两个元素添加内容,只需找到前两个元素的选择器,再在其后面添加伪类选择器,这样就可以设置其内容了。
【例4-9】(实例文件:ch04\Chap4.9.html)只插入部分元素。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P69_119748.jpg?sign=1739381913-Tdcn7FfbHyOiUvUD9UwuvnPRYCh3Jp5W-0-7d0ab3764cd92cb1d2eb9c7bba3ecb89)
相关的代码实例请参考Chap4.10.html文件,IE浏览器中运行的结果如图4-12所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P70_16299.jpg?sign=1739381913-hkHRMr0qpuOyNyd5lxclCfrl6E0NArjV-0-bfa059930e09ac701c34c64526b01b4e)
图4-12 只插入部分元素
4.4.4 配合quotes属性执行插入
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P70_16414.jpg?sign=1739381913-LfRq5e9W32P2KC8l21TVPUlcFQMIV8Jl-0-f79391842743e43dca9de2771f9fd36f)
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=1739381913-haEiW3UosCQzQWQZgIOiMrUo31OKJf6X-0-1423b31b88eb0ea8c6bedf6c653332fc)
相关的代码实例请参考Chap4.10.html文件,在IE浏览器中运行的结果如图4-13所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P71_16498.jpg?sign=1739381913-f2xoBKnIyGr8B0OYnewatIVRYCZuJKlB-0-59f636aa0f4ebaa584ba4ca8c61a6a6d)
图4-13 配合quotes属性执行插入
4.4.5 配合counter-increment属性添加编号
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P71_16617.jpg?sign=1739381913-xcCMCSrqaM1ZXBe30jfFxOduSU5pgFox-0-484aaface3d65fa0e36a0d71def689be)
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=1739381913-hZ3SbFnPDTQlF5NTtybzQsfZ3kuasbHD-0-3dfc747b24201b62bf5280d54d8f9758)
相关的代码实例请参考Chap4.11.html文件,在IE浏览器中运行的结果如图4-14所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P72_16678.jpg?sign=1739381913-9QmIIunMDOOoKmbD934XxcTB8XbruU0l-0-6d3f20fd4d126de7f6854459e4326ede)
图4-14 计数器添加编号效果
4.4.6 使用自定义编号
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P72_16855.jpg?sign=1739381913-VSDwCJ6Wir8Z4WsnFtYDcFWfAQxIddAL-0-d5be9b40768aa3545af650077eccbcf0)
从上面的案例可以发现,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=1739381913-ccHRbDVZFL4yMQYUuZTNq2J2tlr6Ugsy-0-3263e9a0c6ee3c6a39e9c44e71f61ff5)
【例4-12】(实例文件:ch04\Chap4.12.html)使用自定义编号。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P72_119754.jpg?sign=1739381913-0Hfjy55sHK2AMEIK293eTcF5ovENSNHf-0-380a6acb91a83efcb4a0c276c33c4d76)
相关的代码实例请参考Chap4.12.html文件,在IE浏览器中运行的结果如图4-15所示。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P73_16956.jpg?sign=1739381913-xWY6dzdNrlk02KqgbdHSXNE1oux8kAVq-0-0ac1fd54004e610dcf9fee6bb9e416c7)
图4-15 使用自定义编号
4.4.7 添加多级编号
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P73_17064.jpg?sign=1739381913-4GvubYvi4QVXT87xsJ2hPRvYhY411IOJ-0-fc95f058f1f61e670cdf114bd78272a5)
在上面案例中,只是添加了一级编号,还可以添加多级编号,像书的目录一样,可以有多级的编号。下面就使用计数器来实现一个简单的目录形式的编号。
【例4-13】(实例文件:ch04\Chap4.13.html)添加多级编号。
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P73_119756.jpg?sign=1739381913-6EzfW69o6moUppw4oDW9NWfla0zc2ZMG-0-6d1837438b1b642ae5ef61deb174359a)
相关的代码实例请参考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=1739381913-58QVHnFMe5q9A22PuaEya7IUGG3OBp0d-0-209502ade5d5586aaadb0b7a6946119d)
图4-16 多级计数器的应用
![](https://epubservercos.yuewen.com/A0FA69/17214367505511306/epubprivate/OEBPS/Images/Figure-P74_17157.jpg?sign=1739381913-s9kCtoEGIOLFk3oE5PxCi6S7bqlpKozP-0-9854e43cc55c1630366dcfe1c1b8e68c)
图4-17 重置order2计数器后的效果