html预览不出效果是怎么回事,css before显示不出来怎么办

before是css中的伪类元素,使用它可以在元素之前插入新的内容。有时我们使用伪类before元素时会遇到无法显示的情况,下面就来说说怎么解决这个问题吧。

061683b17e8286a6e0c641bcd782fad3.png

css before显示不出来怎么办

css before伪类元素要显示,需要设置content属性,而且要具有一定的宽高,可以设置display为inline-block和block,让元素的宽高生效。

下面以一个案例讲解:

问题:尝试给span元素添加伪类,让它前面显示正方形,但是一直不显示。

HTML:

我要前缀

我要前缀

CSS:(相关课程推荐:css视频教程).before:before{

display: inline-block;

width: 10px;

height: 10px;

background: rgba(255,0,0,.3);

}

显示效果:

eb097689e44d4163a775ac56131242bd.png

浏览器控制台:

2b446e73a0502e4d8cc3bce20abedaed.png

解决方法:我们可以看见页面中并没有出现before元素,这是因为伪元素要生效,必须添加 content 属性。

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

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

content:"";

display: inline-block;

width: 10px;

height: 10px;

background: rgba(255,0,0,.3);

}

这样就可以正常显示了:

12ae266a9f86b197873de0f1efd7c288.png

bbee2b0a664179e63129fa85dcdf6cd2.png

content属性知识扩展

content有四种可以写进去的东西:attr(attr-name)、字符串、url()/uri()、counter()

attr(attr-name), 伪元素的内容跟主元素的某个属性值进行关联,及其内容为主元素的某指定属性的值

好处:可以通过js动态改变主元素的指定属性值,这时伪元素的内容也会跟着改变,可以实现某些特殊效果,如图片加载失败用一段文字替换。

url()/uri(), 引用外部资源,例如图片;

counter(), 调用计数器,可以不使用列表元素实现序号问题。

本文来自css3答疑栏目,欢迎学习!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值