同一个元素假如有多个类名,分别给每个类名设置伪类,就像这样
<title>测试同一元素多个类下的伪类是否覆盖</title>
<style type="text/css">
.app{width: 500px;height: 200px;background:#78b9f9;position: relative;}
.app:after{content: "--我是app的after伪类--";display: block;}
.app:before{content: "--我是app的before伪类--";display: block;}
.test:after{content: "--我是test的after伪类--";display: block;}
.test:before{content: "--我是test的before伪类--";display: block;}
</style>
</head>
<body>
<div class="app test"></div>
</body>
那么最终会有几个伪类呢?是4个?还是2个?不多bb直接上结果
如果把CSS代码的顺序换一下:
.app{width: 500px;height: 200px;background:#78b9f9;position: relative;}
.test:after{content: "--我是test的after伪类--";display: block;}
.app:after{content: "--我是app的after伪类--";display: block;}
.app:before{content: "--我是app的before伪类--";display: block;}
.test:before{content: "--我是test的before伪类--";display: block;}
此时的结果是:
结论:一个元素最多只能有一个after,一个before,最终显示那个类的伪类与css中的类的顺序无关,而是取决于伪类定义的先后顺序;
over