跨浏览器CSS需要“CSS重置”吗?

时间:2009-10-19 13:13:26

标签: css cross-browser

我一直在努力为我的下一个项目提供一个不错的跨浏览器CSS框架,因为我的上一个项目有很多PHP / CSS黑客(像class="blah<?=isIe()?>"这样可怕的东西)。我想“正确”。我看了this question,这并没有引起太大的兴趣,所以我想缩小范围:是否需要进行跨浏览器格式化的CSS重置? Doctype怎么样?应该使用

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

还是什么?另外,是否有人对Blueprint的有用性有任何了解?

3 个答案:

答案 0 :(得分:8)

不需要CSS重置,但它确实简化了事情。

需要一个Doctype,如果没有一个浏览器会输入Quirks mode,那么就会打开一大堆不一致的内容。您提到的HTML 4.01 Strict Doctype是一个不错的选择,它是最现代的HTML版本,在市场上得到了不错的支持。

答案 1 :(得分:5)

CSS重置不是必需的,但它肯定有很多帮助。它将使所有元素在所有浏览器中呈现相同。

由于每个浏览器(主要是IE)以不同的方式呈现盒子模型,仍然会有某些事情略有不同。有一些更简单的方法来执行内联类更改的浏览器特定CSS。您可以创建特定于IE的样式表,并覆盖您需要更改的特定内容。你也不需要PHP。

<!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->

你也可以使用“lt”来表示&lt;和“gt”代表&gt;。

<!--[if lt IE 7]>
    <link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->

对我来说,进行CSS重置已经修复了99%的问题。

雅虎有一个不错的选择。 http://developer.yahoo.com/yui/3/cssreset

答案 2 :(得分:1)

我总是使用CSS重置并从我的项目基础构建备份。它简化了很多事情,因为您不再需要担心浏览器之间的默认大小等。此外,任何足够大的项目都会有大量的CSS重置,并且在那些没有使用CSS重置表的项目中,他们很可能会将它分成很多区域,做得很糟糕和错误:)

我倾向于将YUI CSS表用于我的项目,但我现在可以查看Blueprint,现在已引起我的注意;)