《HTML 5与CSS 3 权威指南(第4版·下册)》 —17.1.2 指定个别元素不进行插入

举报
华章计算机 发表于 2019/11/21 22:13:07 2019/11/21
【摘要】 本节书摘来自华章计算机《HTML 5与CSS 3 权威指南(第4版·下册)》一书中第17章,第17.1.2节,作者是陆凌牛。

17.1.2 指定个别元素不进行插入

在代码清单17-1的示例中,因为对页面上的h2元素使用了before选择器,所以该页面上如果有多个h2元素,则所有的h2元素前面都会***入内容。如果想让其中一个或几个h2元素的前面不要插入内容时,应该怎么指定呢?

image.png

在CSS 2.1中,针对这个问题在content属性中追加了一个none属性值,使用方法如下代码所示。

<style type="text/css">

h2.sample:before{

    content: none

}

</style>

<h2>标题1</h2>

<h2>标题2</h2>

通过这种方法,替h2元素增加一个类,然后替这个类起个名字,在这个类的样式指定中将content属性值设定为“none”,然后在不需要插入内容的元素中将class属性的属性值设定为这个给定的类名就可以了。

代码清单17-2为将代码清单17-1修改后使用none属性值的示例,该页面中有三个h2元素,其中第二个h2元素前面没有***入内容。

代码清单17-2 content属性的none属性值使用示例

image.png

image.png

这段代码的运行结果如图17-2所示。

另外,在CSS 2.1中,除了none属性值外,还为content属性添加了一个“normal”属性值,其作用与使用方法none属性值的作用相同,并且使用方法也相同,读者可自行在代码清单17-2中,将none属性值修改为normal属性值,然后在浏览器中重新运行该示例,观察运行结果。

image.png

那么,既然normal属性值的作用与none属性值的作用相同,为什么CSS 3中还要追加这个normal属性值呢?它们的区别又是什么呢?这里要补充说明的是,从CSS 2.1开始,只有当使用before选择器与after选择器的时候,normal属性值的作用才与none属性值的作用相同,都是不让选择器在个别元素的前面或后面插入内容。但是none属性值只能应用在这两个选择器中,而normal属性值还可以应用在其他用来插入内容的选择器中,而在CSS 2中,只有before选择器与after选择器能够用来在元素的前面或后面插入内容,所以这两者的作用完全相同。在CSS 3草案中,已经追加了其他一些可以用来插入内容的选择器的提案,针对这一类选择器,就只能使用normal属性值了,而且normal属性值的作用也会根据选择器的不同而发生变化。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。