快捷搜索:  xxx  as  1111

CSS锦囊

在应用CSS建站时,您肯定碰到过形形色色的结构问题,着末可能被搞得焦头烂额。本文的目的是让您的设计历程更为轻易,当您碰到艰苦时为您供给快速参考。

有疑问,先验证

在调试时,先对您的代码进行验证每每能省去不少麻烦事。款式不精确的XHTML/CSS 会导致许多结构上的差错。

在其他浏览器中进行测试之前,请先在最先辈的浏览器中撰写和测试CSS代码,而不是相反。

假如您在破旧的浏览器中编写和测试,你的代码就不得不依附那个破旧浏览器的糟糕的显示,然后在相符标准的浏览器中进行测试,看到显示结果“不正常”时,你会很沮丧的。相反,您应该先将您的代码完善,然后再设法为较初级的浏览器盘算。这样从一开始您的代码便是相符标准的,你不必再为支持其他浏览器而劳心操心。当然了,今朝服从标准的浏览器无疑便是 Mozilla, Safari 或 Opera。

确保您期望的效果确凿存在

许多特定的浏览器专有的CSS扩展在正式标准中并不存在。 假如您对 filter(滤镜) 或滚动条指定了样式,那么您就用了私有代码,除了IE之外,在其余浏览器中毫无感化。假如验证器奉告您代码没有定义,极有可能您用了私有样式,这样在不合的浏览器中很难达到同等的效果。

假如结构中必然要用浮动工具,别忘了合时应用清除(clear)属性。

浮动工具似易实难,而且不老是令人如愿以偿。假如您发明浮动工具伸出了容器的界限,或者不像您所期望的那样显示,请反省您的期望是否精确。关于这个问题请看Eric Meyer的教程

边距的合并:可用padding 或 border 来避免。

您可能被多余的(或者想要却不呈现的)空缺搞得焦头烂额。假如您用了 margins,边距的合并可能便是问题的根源。 Andy Budd 对此的解释可能为你解惑。

避免将 padding/border 和固定宽度同时利用到同一元素。

IE5 的区块模型是差错的,是它把工作办坏了。对此也有权宜之计,不过最好是绕过这个问题,当子元素的宽度固准时,为父元素指定padding。

避免IE下未指定样式内容的闪烁。

假如您仅仅靠 @import 来输入外部样式表,日夕您会发明IE有“闪烁”的搭档。在利用CSS样式之前,未经款式化的HTML文本会短暂地呈现。这是可以避免的.

别指望 min-width 在IE中有用。

IE不支持它,然则它将 width 算作 min-width,以是经由过程一些 IE 的过滤技术(filtering),可以实现同样的终极效果。

把CSS过滤器(filters)算作着末的手段

CSS 技术和过滤器可以使您有选择地利用到(或者不利用到)某些元素。该当尽可能地找到标准的跨浏览器的办理法子来实现您想要的效果,而不是动不动就应用过滤器。要将它当成穷途末路时的救命手段。在这里可以找到大年夜量的CSS 过滤技术。[译注:不要把这里的filters和IE中的滤镜肴杂。因为各个浏览器对CSS标准的支持程度不一,人们找到了许多技术,将浏览器无法解释或差错解释的样式表或规则樊篱掉落。这便是所谓的CSS过滤器或技术。]

假如应用了锚点,在利用超链接样式时要分外小心。

假如您在代码中应用了传统的锚点(),您会留意到 :hover 和 :active伪类也会感化于它。要避免这种情形,你可以应用 id,或者应用鲜为人知的语法: :link:hover, :link:active

记着“LoVe/HAte”(爱/恨)链接规则

要以下面的顺序指定超链接伪类:Link, Visited, Hover, Acitve。任何其他顺序都不当当。要是用了 :focus,序次应为 LVHFA(“Lord Vader's Handle Formerly Anakin”,Matt Haughey这样建议)。

请记着“TRouBLED”(麻烦的)边框。

边框(border)、边距(margin)和补白(padding)的简写序次为:顺时针偏向从上开始,即 Top, Right, Bottom, Left。比如 margin: 0 1px 3px 5px;表示上边距为零,右边距为1px,依此类推。

非零值要指明单位。

在用CSS指定字体、边距或大年夜小时,必须指明所用的单位。某些浏览器对未指明单位的处置惩罚措施不够为凭。零便是零,不管是 px照样em照样其他单位,它不必要单位。例如: padding: 0 2px 0 1em;

测试不合的字体大年夜小。

像Mozilla和Opera这样的高档浏览器容许对字体进行缩放,不管你用的是什么单位。某些用户的默认字体大年夜小肯定和您的不合,尽最大年夜努力去满意他们。

用嵌入式测试,宣布时改为输入。

将样式表嵌入在你的HTML源代码中,在测试时可以打消许多缓存引起的差错,尤其是某些Mac下的浏览器。但在宣布前,必然要记着将样式表移到外部文件,用 @import 或 引入。

加上显着的边框有利于结构调试。

像 div {border: solid 1px #f00;} 之类的全局规则可以暂时为你查出结构问题。为特定的元素加上边框可帮您找到难以发觉的交错或空缺问题。

对图片路径不要用单引号。

当设置背景图片时,要坚持用双引号。只管看起来有些多余,然则假如不这么做,IE5/Mac会噎住。

不要为将来的样式表(比如手持式设备或打印用样式表)留个“空位”。

Mac IE5 对空的样式表对照感冒,会增添页面的装入光阴。建议样式表中至少应该有一条规则(哪怕是注释也好),免得 MacIE噎住。

别的值得一提的还有一些虽然不针对某些功能,然则在开拓历程中该当留意的理论:

好好组织您的CSS文件

恰当地成块注释CSS,将相似的CSS选择符编为一组,养成同等的命名习气和空缺款式(为跨平台斟酌,建议用空缺字符而不是tab。)以及适当的序次。

以功能(而不是外不雅)为类和ID命名

要是您创建了一个 .smallblue 类,后来盘算将翰墨改大年夜,颜色变为血色,这个类名就不再有任何意义了。相反,您可以用更有描述性的名字如 .copyright 和 .pullquote。

组合选择符

维持CSS短小对削减下载光阴异常紧张。请只管即便为选择符分组、 使用承袭(inheritance)以及应用简写(shorthand)来削减冗余。

应用图片调换技巧时要斟酌亲和力

已经发明传统的FIR在屏幕涉猎器,以及关闭图片显示[的浏览器]中会出问题。 对此有其他办理法子,要根据详细环境,慎重应用。

您可能还会对下面的文章感兴趣: