老师,请问我这个before的元素为什么不显示?

老师,请问我这个before的元素为什么不显示?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好!
(1)是的,这是固定写法。只要用到before和after伪元素就需要添加content属性

(2)不是的,因为before和after伪元素默认是一个行内元素,设置宽高不生效。当需要这个元素有宽高属性的时候,就设置为block或者设置定位(fixed/absolute)也是相同的效果

如果帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕夭夭 2019-08-23 19:29:58

你好同学,content 是伪类:before必须添加的属性,因为它是给伪类插入内容的。就算没有实际的内容,也要设置一个空字符串。否则不会显示。如下添加content:

http://img1.sycdn.imooc.com//climg/5d5fce2500014a3403220090.jpg

祝学习愉快,望采纳。

  • 提问者 慕大斯 #1
    请问这里display:block也是必须加的么?
    2019-08-26 10:19:50
我学习太差被关起来了 2019-08-23 16:26:09

加上

display: block;

content: "";

  • 提问者 慕大斯 #1
    好的,但是为什么?
    2019-08-23 16:27:36
  • weixin_慕的地5241954 回复 提问者 慕大斯 #2
    第一个值是转换成盒子,第二个值是加入一个空白,两个值合成一个空白盒子,因为第二个值不加,浏览器识别不出来,,默认什么都没有,before就无法继承star所有的原有属性
    2019-08-25 16:55:34
  • 提问者 慕大斯 #3
    谢谢您,我可以理解为这是固定的语法么,只要用到before和after伪元素,就得加?
    2019-08-26 10:13:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师