我一直在努力为我的下一个项目提供一个不错的跨浏览器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的有用性有任何了解?
答案 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,现在已引起我的注意;)