使用 CSS 伪元素需要注意的

文/九彩拼盘(简书作者)
原文链接: http://www.jianshu.com/p/378f474c1ad0
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

伪元素 ::before,::after

1. 空元素(不能包含内容的元素)不支持 ::before,::after

  • IE 不支持的元素有:img,input,select,textarea。
  • FireFox 不支持的元素有:input,select,textarea。
  • Chrome 不支持的元素有:input[type=text],textarea。

2. 必须设置 content 属性

若不设置,则伪元素不会显示。如果不想设置 content 的内容,可以将内容设置为空。如:

.a:before {
    content: '';
    display: block;
    width: 100px;
    height: 100px;
    background-color: red;
}

3. content 的属性值要遵循一些规则

要遵循如下规则:

  • 如果 content 的值是常量,必须用单引号或双引号括起来。如:content:'abc'; , content:"abc";
  • 如果 content 的值是该元素的某个属性于常量组合而成的,常量仍然要用单引号或双引号括起来,之间不需要加号。如:content: '('attr(title)')';。感觉这种写法好违法直觉。

若 content 的属性值不遵循如上要求,则伪元素不会显示。

4. content 的属性值中如何设置特殊字符?

如下表所示:

特殊字符content 中这么写
空格content:"\00a0";
<content:"\003c";
>content:"\003e";
&content:"\0026";
"content:"\0022";
©content:"\00a9";
®content:"\00ae";
×content:"\00d7";

更多见 这里

伪元素 ::first-letter,::first-line

  1. 只对 displayblockinline-block 之类的块级元素有效。
  2. 对内容的开头是符号,或者第一个是英文字母或数字,第二个是符号的,使用 ::first-letter 来设置样式时,会对第一个字母和符号都生效。好违反直觉。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值