网页设计外边距很有用,但同时也存在很多问题——毫不奇怪,这些问题都围绕着Netscape Navigator 4.x(NN4.X)。
第一个问题是,Navigator 4.x会把外边距规则指定的外边距增加到其默认外边距,而不是用其取代默认值。例如,请考虑:
h1 {margin-bottom:0;}
p {margin-top:0;.}
NN4.X显示元素时其间通常有空白,因为它将0增加到其自己的默认外边距。如果想A盖这个空白,可以使用负外边距,如将段落的上外边距设置为-1em。但网页设计人员用这种解决方法的问题是缺乏通用性。如此一来,网站建设CSS兼容的浏览器就会使文本重叠,因为这些浏览器会替换段落的上外边距(而不是使之相加)。
遗憾的是,还有更糟糕的问题。如果对行内元素应用外边距,布局将或多或少地过于分散。NN4.X认为所有元素(不论是否是行内元素)的外边距都相对于浏览器窗口的左边界。这绝对是错误的。遗憾的是,如果网站建设人员有很多使用NN4.X的访问者,在行内元素上使用外边距就很危险,决不能等闲视之。好在对NN4.X隐藏CSS很容易,从而可以对文档设置样式,而不必担心NN4.X破坏样式(当然,这里假设你仍然关心页面在NN4.X中的外现)。