Opera : 要求更加严密的 CSS
很多人说 Firefox 下面的效果和 Opera 是一致的,实践告诉我还是有很大的区别,可能没有必要罗列一个一个的细节,总体方向是,Opera 要求的 CSS 写得更加的严密,很少有“理所当然”的成分。
现在你可以用 Opera 和另外一个浏览器看看这个页面 在其他浏览器中内容部分是居中的,但是 Opera 是偏左的,因为我们都知道默认的 text-align 就是 left。而 FF 和 IE 依赖 margin 的 auto 把它居中了,我觉得有点草率。
解决方法自然是写得更加严密一些,在 body(上面例子中是 #struc)定义 text-align 为 center,在 #wrap 再定义回 left。
update : 感谢 playpiggy ,他指出上面的问题有可能出在 display:inline-block 的 firefox 的不支持问题上,使用 margin:auto 是更好的方法,这个我此前没有认识到:)
{我上午不爽改过来了} 另外一个例子可以看看我这个地方,使用 default 这一套 css 的时候(也就是首页和搜索页之类),margin 和 padding 是没有消掉的, 我们都知道这样“默认”的 margin 和 padding 会出现很多浏览器兼容的问题,包括 if..else 十月份的新版式也没有很好地解决(在右下角,用 IE 看)。这种情况下,FF 和 IE 都按照自己的“理解”为 margin 和 padding 赋值,而 Opera 很多时候用 0 赋值,因此不如干脆消掉 margin 和 padding,自己定义麻烦一点,效果会很好。
这也不能说是谁的 bug,只是 Opera 这样的做法我更加喜欢一些,虽然有时候会很麻烦去找哪个参数没有定义完整,但这样代码也更加强壮。