什么时候应该使用CSS框架?


11

使用CSS框架的最佳实践方案是什么?什么时候从头开始“滚动自己的” CSS比使用框架更好?

Answers:


11

CSS框架有点棘手,因为对我而言并不是真正的框架。它们只是预定义的类。但是,这不是您的问题。

CSS框架非常适合实体模型和线框。我不建议在实时站点上使用它们,因为它们会给您的标记添加无意义的类。“ .span3”不告诉我有关内容的任何信息,仅告诉设计。

但是,蓝图确实有一些很酷的工具,可以帮助您在完成后结合其框架类和语义类。

我总是滚动自己的CSS。


4
我和Thorn007在一起。当您开始使用CSS时,它非常简单。只需使用良好的CSS重置并自行滚动即可。
jessegavin 2010年

3

只是避免它们,它们只是烦人。

特别是这个。

* { margin:0; padding:0; }

我最大的抱怨是,如果您继承/维护使用重置和/或框架的网站,则必须先学习该框架,然后才能修改该网站。

当我添加h1标签时,我期望某些事情。大多数重置都会删除所有的填充,边距,块等,因此默认情况下,h1标签不再起作用。因此,我必须返回并首先添加其中的所有内容。

通常(以我的经验),不了解使用重置和框架的css的人员会为使用此操作的人员带来更多的工作。


1
Eric Meyer和Yahoo的Web开发人员了解CSS,他们使用CSS重置。以我的经验,当尝试实现跨浏览器的一致性时,它们可以节省大量时间和头痛。-CSS框架虽然la脚。
jessegavin 2010年

当我添加h1标签时,我期望某些事情 ..不幸的是,您需要从每个浏览器期望不同的事情..因此,需要CSS重置(不是框架
Gabriele Petrioli 2010年

h1是一个非常糟糕的示例,因为浏览器倾向于使用不同的边距,依此类推。就我个人而言,我更喜欢使用“设置”进行重置-即,不是将所有内容重置为0,而是首先要在自己的样式表中进行设置!
DisgruntledGoat 2010年

* {margin:0; padding:0;}是所有重置中最重要的CSS。它会删除margin-top/maring-bottom所有标签(甚至是p标签)下的内容,因此在每行之间都不会看到很大的空间。即使这个网站也可能正在使用,p {margin:0;}否则浏览器将在每行之间留有很大的空间。我想知道您如何说他们很烦。
Marco Demaio 2011年

2

我认为,CSS框架提供的唯一服务是那些不太熟悉CSS的人的起点。


2

我还建议使用Eric Meyer的reset.css,但我认为CSS“框架”对于布局很有帮助。蓝图,YUI网格和960网格可以帮助您实现一些非常复杂的布局,而无需自己编写CSS。

尽管已经提到了一些缺点,但是关于在CMS上构建网站而不是滚动自定义代码的说法也是如此,但是它们仍然有用,而且对于许多站点而言,所获得的好处超过了任何无关紧要的CSS或性能问题。


1

如果您实际上是在实现自己的设计,则将编写一些自己的CSS(除非其他人碰巧已经编写了您想要的确切设计)。

假设您正在编写自己的CSS,那么当您具有以下样式时,“框架”将非常有用:

  1. 在多个地方使用;和
  2. 足够复杂,可以分为自己的课程

对于真正简单的样式,最好使用类指示什么什么(例如class="navigation"),然后通过将样式规则应用于样式表中的该类来定义其外观。

但是对于不必与任何一个元素绑定的更复杂的样式(例如,与布局相关的样式,即框架提供的名称所喜欢的那种样式.span3),将它们放在一个类中并在CSS中应用该类是没有错的。您可以同时使用这两种方法。

在更大,更复杂的站点中,元素可能以不可预测的方式组合在一起,类似框架的方法可以真正帮助保持代码的可管理性。

我想说,您最好还是编写自己的“框架”。我将“框架”用引号引起来,因为CSS确实不是一种大语言。您可以一天阅读CSS:权威指南(Eric Meyer),然后阅读Blueprint(一种CSS“框架”)中的所有代码,并且几乎了解发生了什么。您可能需要稍微研究一下IE解决方法,但是在这里,我们谈论的复杂度至少比jQuery低至少一个数量级。


1

我将蓝图用于CSS。
正如上面的每个人所说,CSS非常简单。

但是,实际上,您必须考虑平台。

使用CSS渲染引擎会增加复杂性。

Gecko vs WebKit vs Presto vs Trident ...谁想要做所有这些事情?

“框架”在这里为您提供了编写最有可能在所有浏览器上运行的布局的功能,因此您不必为“ WTF-am-I-doing = -this-crap” IE 7 quirksmode进行搜索修复或类似可笑的东西。

框架将完成您想要的布局的90%,然后您以后可以随时添加自己的样式。

因此,要回答这个问题,我会说选择任何框架,看看它是否对您有用。只是可能。然后,您变得很勇敢,可以回到您实际想要做的任何事情。如果不是,则使用CSS对其进行扩展并更改无效的内容。这样,您可以保持跨浏览器的优势,但仍可以自定义。

作为一个小好处,如果您一直选择一个并且一直使用它,然后生病或升职并必须培训您的继任者,您可以说:

“是的,我使用了框架ABC。文档在这里。代码在那里。培训结束了。祝您好运。”


0

当它解决了您的所有需求时。(这是基于剪裁的思想。)

从关于框架的唯一书籍?http://www.oreilly.com/web-platform/free/book-of-html-css-frameworks.csp。(仅链接,因为它是免费的,并且在此处具有相关性。)


最好是可以剪切并粘贴链接到的页面的相关部分。否则,作为答案,这是一种启示。不建议仅使用链接答案,因为链接通常会随着时间而中断。您能否更新此答案,以帮助OP和将来的用户咬牙切齿?提前致谢!
closetnoc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.