点击这里给我发消息 点击这里给我发消息

HTML 5与CSS 3权威指南:指定个别元素不进行插入

添加时间:2013-12-6
    相关阅读: 页面 HTML CSS
 

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

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

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

  <style type="text/css">

  h2.sample:before{

  content: none

  }

  </style>

  <h2>标题1</h2>

  <h2 class="sample">标题2</h2>

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

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

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

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

  <title> content属性的none属性值使用示例</title>

  </head>

  <style type="text/css">

  h2:before{

  content: "COLUMN";

  color: white;

  background-color: orange;

  font-family: 'Comic Sans MS', Helvetica, sans-serif;

  padding: 1px 5px;

  margin-right: 10px;

  }

  h2.sample:before{

  content: none

  }

  </style>

  <body>

  <h2>标题文字1</h2>

  <h2 class="sample">标题文字2</h2>

  <h2>标题文字3</h2>

  </body>

  </html>

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

图20-2 content属性的none属性值使用示例

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

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

 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册