Answers:
只是避免它们,它们只是烦人。
特别是这个。
* { margin:0; padding:0; }
我最大的抱怨是,如果您继承/维护使用重置和/或框架的网站,则必须先学习该框架,然后才能修改该网站。
当我添加h1标签时,我期望某些事情。大多数重置都会删除所有的填充,边距,块等,因此默认情况下,h1标签不再起作用。因此,我必须返回并首先添加其中的所有内容。
通常(以我的经验),不了解使用重置和框架的css的人员会为使用此操作的人员带来更多的工作。
* {margin:0; padding:0;}
是所有重置中最重要的CSS。它会删除margin-top/maring-bottom
所有标签(甚至是p
标签)下的内容,因此在每行之间都不会看到很大的空间。即使这个网站也可能正在使用,p {margin:0;}
否则浏览器将在每行之间留有很大的空间。我想知道您如何说他们很烦。
如果您实际上是在实现自己的设计,则将编写一些自己的CSS(除非其他人碰巧已经编写了您想要的确切设计)。
假设您正在编写自己的CSS,那么当您具有以下样式时,“框架”将非常有用:
对于真正简单的样式,最好使用类指示什么是什么(例如class="navigation"
),然后通过将样式规则应用于样式表中的该类来定义其外观。
但是对于不必与任何一个元素绑定的更复杂的样式(例如,与布局相关的样式,即框架提供的名称所喜欢的那种样式.span3
),将它们放在一个类中并在CSS中应用该类是没有错的。您可以同时使用这两种方法。
在更大,更复杂的站点中,元素可能以不可预测的方式组合在一起,类似框架的方法可以真正帮助保持代码的可管理性。
我想说,您最好还是编写自己的“框架”。我将“框架”用引号引起来,因为CSS确实不是一种大语言。您可以一天阅读CSS:权威指南(Eric Meyer),然后阅读Blueprint(一种CSS“框架”)中的所有代码,并且几乎了解发生了什么。您可能需要稍微研究一下IE解决方法,但是在这里,我们谈论的复杂度至少比jQuery低至少一个数量级。
我将蓝图用于CSS。
正如上面的每个人所说,CSS非常简单。
但是,实际上,您必须考虑平台。
使用CSS渲染引擎会增加复杂性。
Gecko vs WebKit vs Presto vs Trident ...谁想要做所有这些事情?
“框架”在这里为您提供了编写最有可能在所有浏览器上运行的布局的功能,因此您不必为“ WTF-am-I-doing = -this-crap” IE 7 quirksmode进行搜索修复或类似可笑的东西。
框架将完成您想要的布局的90%,然后您以后可以随时添加自己的样式。
因此,要回答这个问题,我会说选择任何框架,看看它是否对您有用。只是可能。然后,您变得很勇敢,可以回到您实际想要做的任何事情。如果不是,则使用CSS对其进行扩展并更改无效的内容。这样,您可以保持跨浏览器的优势,但仍可以自定义。
作为一个小好处,如果您一直选择一个并且一直使用它,然后生病或升职并必须培训您的继任者,您可以说:
“是的,我使用了框架ABC。文档在这里。代码在那里。培训结束了。祝您好运。”
当它解决了您的所有需求时。(这是基于剪裁的思想。)
从关于框架的唯一书籍?http://www.oreilly.com/web-platform/free/book-of-html-css-frameworks.csp。(仅链接,因为它是免费的,并且在此处具有相关性。)