w3h5

给元素添加伪类 :before 不显示的解决方法

尝试给元素添加伪类,但是一直不显示。

HTML:

<span class="before">
	我要前缀
</span>
<p class="before">
	我要前缀
</p>

CSS:

.before:before{
	display: inline-block;
	width: 10px;
	height: 10px;
	background: rgba(255,0,0,.3);
}

显示效果:

给元素添加伪类 :before 不显示的解决方法 CSS笔记 第1张

浏览器控制台:

给元素添加伪类 :before 不显示的解决方法 CSS笔记 第2张

最后发现问题所在:伪元素要生效,必须添加 content 属性。

设置 content:""; 即可,推荐做法是用 fonticoncontent 里设置该图标的字体编码。

如果使用图片或者需要设置宽高,需要将伪类元素设置为 inline-block 或者 block ,并设置高宽。

.before:before{
	content:"";
	display: inline-block;
	width: 10px;
	height: 10px;
	background: rgba(255,0,0,.3);
}

这样就可以正常显示了:

给元素添加伪类 :before 不显示的解决方法 CSS笔记 第3张

给元素添加伪类 :before 不显示的解决方法 CSS笔记 第4张


赞 (2)
分享到: +More |

评论 沙发

换个身份