默认值
许多 CSS 属性都有它们的默认值,假如这个属性没被定义取代,它们就将应用于 HTML 元素上。比如说每个补白属性中, padding-top , padding-right , padding-bottom , 和 padding-left 的初始值都是 0 。因此假如某个元素不需要任何的补白,自然就可以不设置补白的那些属性了。
注重: 那些简记属性——比如我们先前讨论过的—— 里面,或者其本身都没有什么默认的值。究竟简记属性其实只是独立属性的一种重现而已,所以假如硬说它们有默认值的话,采用的也是独立属性的那些默认值。尽管 CSS 规范的 Property Index 一节中规定的许多默认值都是 none 或 0 ,浏览器们却往往给不同的属性设置一些不同的默认值。
例:Opera 浏览器给 body 元素设置了 8px 的补白。h1-h6 标题和段落,默认都有非零的边白。列表和列表子项中用到的默认边白和补白,每个浏览器都有所不同。
继续
另一个避免写出冗余代码的方法是,了解哪些属于父元素的属性会由子元素继续下来。会被继续的属性只有很少一些,而且其中大部分是不常用的,比如 voice-family 。所以列个能继续的常用属性的表,其实是很短的,下面就是按字母顺序排出的:
空白
并非指的是 CSS 的 white-space 属性,这个属性早有确定的值了。我们说的是样式表本身含有的那些空白。空白常用于换行字符,和在一行里面用来改进可读性的空格。尽管把它们都删除可能会剩下个把字节,但好处究竟有限。
要害是,假如把它们都删除了,CSS 文件就会变得非常难读,更难修改。要是你真的打算这么做,不妨创建一个主 CSS 文件,再根据它生成一个删除了所有空白的副本,修改的时候只修改主文件,根据主文件重新生成一次副本就行了。
请注重,CSS 编码中需要一些空白,删除那些必要的会导致你未曾预料的问题。假如 W3C 规范中用了 "space separated" 这样的语句,那么空格就不可省略。常见的像简记属性中分隔值的那些空格,还有 下降合并符 (descendant combinator),或者称为下降选择符,就是一个空格。所以说不到非用不可的时候,删除空白这样的方法还是少用。
完结
你现在学会了好几种让你的样式表更高效的方法,益处是在这些技巧下,不仅下载时间被减少了,而且清楚、易于理解、更改的代码随之而来。就算你用排版工具来编辑样式表,也可以在最后用这些方法将其改定为高效的样子。
评论加载中…
![]() |