Answers:
CSS“框架”完全没有意义。
CSS与JavaScript不同,您可以在CSS中包含基础库/框架,然后从中调用函数和对象来进行更高级别的工作。所有CSS框架都可以为您提供声明性规则:一些默认的浏览器规则重设内容,一些类样式(必须强制向其编写页面)以及使用“ float”和“ clear”的布局规则。您可以自己用几行CSS编写代码,而不必花一百个框架规则。
特别是“网格布局”的东西可以追溯到将演示文稿混合到标记中的糟糕年代。'div class =“ span-24”'并不比表格好,您必须回到那里并更改标记以影响布局。而且我所看到的所有框架都是基于固定像素的浮动框,因此无法创建可在各种窗口尺寸上访问的液体布局。
它是向后创作的,仅用于害怕写CSS规则的人。
因此,目前还没有人回答这个问题(尽管我看到了一些反对意见),所以 我将至少尝试在此提示中解决第二个问题。
CSS框架很棒。与其他任何框架一样,它们减少了开发时间,使您可以立即进行针对特定地点的设计和CSS的工作。他们考虑艰难的决定,所以您不必这样做。
不幸的是,使用框架有两个缺点(通常):
该框架规定了CSS代码的整体结构和机制。现在,我不是在谈论CSS重置(这些重置本身很有用,但它们不是真正的框架)。我说的是一个诚实可靠的框架,它已经决定了您将在文档中使用的语义标记等。因此,您将依赖于框架以及何时存在错误。在框架中,最常见的是您必须自己修复它。
框架不是忽略跨浏览器/高级CSS问题的借口。就像使用PHP或JavaScript框架一样,您总是会遇到它们。而且您需要知道如何处理它们。俗话说,在使用别人的框架之前,应该先编写自己的框架。
快速浏览一下Blueprint,我不会真正将其称为框架。也许重置,上面还有一些额外的东西。
我看过BluePrint和其他一些东西,我唯一推荐的CSS'framework '是YUI Grids
优点:
缺点:
正如其他人所发表的那样,CSS没有真正的“框架”。重置样式表对布局也有很大帮助。我通常坚持使用重置样式表,然后从那里开始。但是,如果您没有太多CSS经验,那么YUI Grids可以为您节省一些时间。
花时间学习和理解(真正理解!)一些css框架,例如BluePrint和YUI,以及css重置,例如Eric Meyer's。然后,花点时间根据您的工作方法和您构建的站点的类型来组合自己的重置和/或框架。
就个人而言,我将Eric Meyer的大部分重置与我自己的一些类和重置一起使用,以及BluePrint和YUI的一些想法。
最近,我看了Eric Meyer关于CSS框架的演讲,他问了一个问题:“那么哪一个适合我呢?” 然后,他通过显示空白幻灯片来回答问题。他的观点是,大多数重置和框架中肯定内置了一些有用的概念,但是最适合您的是您自己编写的一个(值得付出努力)。
为什么要使用CSS“框架”?
如果您有时间压力。
如果您不了解CSS,并且不认识可以为您编写CSS的人。
如果您对标准等不是太珍贵。
我知道程序员对使用蓝图或960感到非常满意,因为它允许他们自行编写布局,而无需求助于前端开发人员。对于个人项目或资源有限的初创公司来说,这是理想的选择。
如果您已经对CSS有足够的了解,那么大概您已经拥有一个不错的库存布局库,因此您显然不需要框架。
但是,如果您是初学者,并且只需要启动并运行某些东西,则可以使用框架,因为它可以使基本布局更简单,并且还可以解决浏览器的兼容性。
说了这么多,许多现成的框架确实使用了一些可怕的类名等。我知道有些网站将框架作为起点,然后使用自己的类和id标签对其进行了自定义。但是很明显,重写也涉及一些工作。如上所述,使用Compass之类的东西确实有助于解决该问题。
因此,CSS框架-它们可以节省您的时间,但以语义为代价。它们也可能会损害您对CSS的了解,但这取决于您在学习该主题方面的投入。是否使用它们取决于您。
您必须问自己,可用框架在解决问题上的效果如何。它们符合您的要求吗?
通过使用框架,您可以在像素级别设置一些规则或细节,并将其余时间用于实现和生产。这极大地提高了生产力。如果您发现自己在项目后期花了一些像素(微管理设计)来进行调整,则表明框架可能有用。
实用程序员中的技巧17说:“程序靠近问题域”。使用抽象层可以使您更接近解决布局的实际问题。例如:您也许可以集中精力用额外的时间来增强用户体验,而不是对像素进行细微的调整。
这并不是说您必须为数量牺牲质量。这与效率有关。
在最近的一个项目中,我制作了自己的框架,因为我们的资源非常有限,而流行的框架并没有满足我的要求。然后,我成立了设计团队的PSD,以捕捉到我部署的同一网格。
框架不必是CSS的任何特定实现。它不一定是您从互联网下载的东西downloaded肿,也不是实施过时的想法的东西。这只是一项完成工作的技术。如果有些编码人员已经拥有自己的框架,甚至不知道它,我也不会感到惊讶。实际上,如果您将DOM视为使用CSS扩展的一组默认元素,那么按照定义,这就是一个框架。
Compass使您可以使用自己的语义名称来重命名框架的类和ID,因此您可能需要检出它。它还提供对普通香草CSS所没有的东西的访问,例如mixins。
我对所谓的“ CSS专家”感到震惊,他们批评这些工具而没有真正使用它们。它们必不可少吗?不。如果您喜欢自己的框架(确实有一个自己的框架,对吗?一个CSS框架只是一个经过仔细定义的库,每个人都应该使用一个),那么一定要继续使用它。没有人会强迫您使用其他框架,而且我看不到使用框架的人告诉CSS纯粹主义者“他们做错了”。
从这样的角度对框架进行批判,既暴露出一种不安全感,也暴露出一种无知。例如,有人会在不了解CSS的情况下使用诸如Compass之类的工具,这是可笑的。您知道吗,框架通常不会为您编写所有CSS?您仍然可以在大多数框架的上下文中突破并编写自己的CSS。实际上,如果您不了解CSS,可能会很快感到沮丧。
对我自己来说,我很高兴拥有一个框架,因为它已经被文档记录,已经由数百个其他用户测试过,而且我可以通过Compass应用自己的类和id。如果我需要框架不适合的东西,那么我将自己编写代码。
AppFuse的成名者Matt Raible曾有一段时间参加CSS框架竞赛,为AppFuse开发CSS框架。结果在这里发布。有一些变体,我自己用了一些,因为我使用AppFuse并发现它们非常好。
我应该补充一点,因为这些CSS框架在主题应用程序中使用,所以效果很好。也就是说,如果您遵守规则,那么从一个规则切换到下一个规则就像更改属性文件中的一个值一样简单。
我找到的好链接:顶级12 CSS框架以及如何理解它们
这是我有关CSS框架的博客文章,何时使用CSS框架?
我知道使用CSS框架并保留语义标记的唯一方法是使用更高级别的抽象。目前,Compass是我所知道的唯一可以使用的成熟工具,但是Nicole Sullivan似乎在她的“面向对象的CSS”项目中做了一些有趣的事情。
我发现Compass巧妙地使用Sass mixins非常出色,并且是朝着可维护的语义标记的圣杯迈出的一大步。我不希望使用没有诸如Compass之类的抽象的Blueprint或YUI之类的框架来使表示类脱离标记。
顺便说一句,有一个漂亮的CSS框架叫做Elastic,它看起来足够好,我正在考虑将其添加到Compass中。
查看http://www.ez-css.org/。最简单,最轻巧的CSS框架之一。:)
看一下这个演示:http : //www.richstyle.org/demo-web.php 该框架基于“ HTML标签应该足够”的思想。我认为可重用性是选择软件组件(包括Web框架)的最重要因素。对于Web框架开发人员,您对标准的投入越多,您就越能保证可重用性。