CSS 高级语法


取舍器的分组


你 可以对 取舍器进行分组,这样,被分组的 取舍器就 可以分享 雷同的申明 。用逗号将需求分组的 取舍器 离开 。在下面的例子中,我们对全部的 题目元素进行了分组 。全部的 题目元素都是绿色的 。

 

h1,h2,h3,h4,h5,h6 {
  color: green;
  }

 

继承及其问题


依据 CSS,子元素从父元素继承属性 。然而它并不总是按此 模式工作 。看看下面这条 规定:

 

body {
     font-family: Verdana, sans-serif;
     }

 

依据上面这条 规定,站点的 body 元素将 使用 Verdana 字体(如果 拜访者的系统中存在该字体的话) 。

 

通过 CSS 继承,子元素将继承最高级元素(在本例中是 body)所 占有的属性(这些子元素诸如 p, td, ul, ol, ul, li, dl, dt,和 dd) 。不需求另外的 规定,全部 body 的子元素都应该显示 Verdana 字体,子元素的子元素也一样 。而且在大 部分的现代阅读器中,也 确切是这样的 。

 

然而在那个阅读器大战的血腥年代里,这种状况就未必会 产生,那时候对 标准的 支撑并不是企业的优先 取舍 。 譬如说,Netscape 4 就不 支撑继承,它不只 忽略继承,而且也 忽略 利用于 body 元素的 规定 。IE/Windows 直到 IE6 还存在 有关的问题,在表格内的字体 款式会被 忽略 。我们又该如何是好呢?


友善地 对待Netscape 4


厄运地是,你 可以通过 使用我们称为 "Be Kind to Netscape 4" 的冗余 法令来 解决旧式阅读器 无奈 了解继承的问题 。

body  {
     font-family: Verdana, sans-serif;
     }

p, td, ul, ol, li, dl, dt, dd  {
     font-family: Verdana, sans-serif;
     }

 

4.0 阅读器 无奈 了解继承,不过他们 可以 了解组 取舍器 。这么做 固然会 浪费一些消费者的带宽,然而如果需求对 Netscape 4 消费者进行 支撑,就只能这么做 。


继承是一个 咒骂吗?


如果你不 盼望 "Verdana, sans-serif" 字体被全部的子元素继承,又该怎么做呢? 譬如说,你 盼望段落的字体是 Times 。没问题 。 缔造一个针对 p 的特别 规定,这样它就会 开脱父元素的 规定:

 

body  {
     font-family: Verdana, sans-serif;
     }

td, ul, ol, ul, li, dl, dt, dd  {
     font-family: Verdana, sans-serif;
     }

p  {
     font-family: Times, "Times New Roman", serif;
     }