代码之家  ›  专栏  ›  技术社区  ›  Dan Rosenstark

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

  •  5
  • Dan Rosenstark  · 技术社区  · 15 年前

    我一直在为我的下一个项目设计一个不错的跨浏览器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 回复  |  直到 15 年前
        1
  •  5
  •   Josh Close    15 年前

    不需要重置CSS,但它确实有很大帮助。它将使所有元素在所有浏览器中呈现相同。

    由于每个浏览器(主要是IE)对盒子模型的渲染方式不同,仍然有一些事情会略有不同。但是,有一些更简单的方法可以执行内嵌类更改的特定于浏览器的CSS。您可以创建一个特定于IE的样式表,只需覆盖您需要更改的特定内容。您也不需要使用PHP。

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

    您还可以将“lt”用于<,将“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
  •  8
  •   Quentin    15 年前

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

    需要doctype,如果没有浏览器,将输入 Quirks mode 你打开一大盒不一致的东西。您提到的HTML4.01严格的doctype是一个不错的选择,它是市场上最现代的HTML版本。

        3
  •  1
  •   workmad3    15 年前

    我已经习惯了在我的项目中总是使用CSS重置和从这个基础上构建备份。它简化了很多事情,因为您不再需要担心浏览器之间的默认大小不同等问题。此外,任何足够大的项目中都有大量的CSS重设,而且在那些不使用CSS重设表的项目中,它们很可能会将CSS重设分为许多区域,做得不好,而且有缺陷:)

    我倾向于在我的项目中使用yui css表,但现在我可以查看蓝图了,它已经引起了我的注意;)