如果是,哪一个?为什么? 如果不是,为什么?你如何修复跨浏览器CSS渲染?
我目前使用蓝图css,我想知道它是不是一个好选择。谢谢! :)
答案 0 :(得分:28)
不,我没有使用任何框架,只是一个经过深思熟虑的命名系统,我一遍又一遍地重复使用,以及一些带有一些重置和一些基本样式的基本css。
为什么我不使用css框架?
框架的使用通常假设设计师熟悉其惯例,而事实并非如此 - 您不是设计页面的人或客户拥有自己的设计师。即使不是这种情况,总会有一些设计不适合960像素,或者只是尺寸均匀,因此你无法使用神奇的.span-4级。
这引导我进入下一点。命名不是语义。从理论上讲,您可以期待一个框架来轻松维护大型站点。但是,假设您必须进行轻微的设计更改。这基本上意味着在所涉及的所有模板视图中更改html。即使使用版本控制系统,这也很困难且风险很大,因为它必须回滚到单个css文件,而另一个回滚到100个视图。因为input.span-19应该减少5个像素。 CSS框架 - 新的内联css。
跨浏览器问题怎么样?无论你是否使用框架,这都不会改变。有些浏览器或操作系统具有某些特殊性。底线 - Internet Explorer仍然会吮吸。
CSS框架在纪律方面脱颖而出,我必须为此付出代价,但最终完全是关于编写代码的人。
答案 1 :(得分:8)
我注意到有关css框架的两个主要误解。
首先,在软件开发中使用的框架概念,作为工具和诸如960gs的框架类型之间往往存在很多混淆。
Wikipedia defines a framework as“一种抽象,其中提供通用功能的软件可以通过用户代码有选择地改变,从而提供特定于应用程序的软件”。
@vise说:“我没有使用任何框架,只是一个经过深思熟虑的命名系统,我一遍又一遍地重复使用,以及一些带有一些重置和一些基本样式的基本css。”这类似于说“我没有使用任何框架,只是一个框架。”这可能是某种语义讽刺。没有违法行为:)Blueprint,960,指南针等都是各种类型的框架。因为一些css框架可能不是语义或缺乏某些理想的特性,这并不意味着css框架是一个坏主意。
第二个误解是css和css框架是互斥的。您可以手动编写css,也可以使用框架(使用一些自定义的东西)。但是......等一下...... CSS不是一组默认元素,我们可以改变或扩展以满足我们的特定要求吗?根据维基百科的定义,CSS看起来像一个框架。
当然,这第二点值得商榷。但我经常发现人们在不知情的情况下使用某种框架。
要回答您的问题,我倾向于使用类似sass的内容并制作my own framework。在我的最新项目中,我使用了这个和Bourbon的组合,到目前为止看起来很好。我使用框架的主要原因是因为我厌倦了CSS中的冗余。一遍又一遍地重复相同的值真的很无聊。设计中还有其他概念,CSS不能很好地完成,我不会在这里讨论(参见here)。但是通过使用框架,可以将所有问题抽象出去,并且只是努力完成任务。
我希望这有帮助!
答案 2 :(得分:3)
我喜欢yui css工具。这些家伙肯定花了更多的时间处理跨浏览器的CSS而不是我想要的。我没有尝试别人。
答案 3 :(得分:3)
我使用雅虎的yui-css框架。这是我遇到的第一个,很容易理解。我刚刚看到视频和备忘单,并让它工作。而且,雅虎在他们的一些网站上使用它。
答案 4 :(得分:2)
我使用Blueprint和Compass框架。编码CSS再次变得愉快。 : - )
答案 5 :(得分:2)
Compass / Sass组合非常棒,并且提供了几个插件,可以在没有非语义类名的情况下使用您选择的框架。在Compass之外,我总是发现框架过于严格,并且使用了太多的标记。
我不是蓝图,960gs和Compass的YUI插件的粉丝:它们最初是为了使用额外的标记而构建的,并没有充分利用Compass / Sass以获得额外的灵活性。所以我构建了'Susy' - 一个灵活的框架,原生于Compass / Sass。
无论您使用哪种插件(或编写自己的插件),我都强烈推荐Compass / Sass作为额外标记的更好选择。
答案 6 :(得分:1)
我创建了自己的类子集,我发现自己经常使用它,这使我工作更快,创建html布局更容易,而不需要在很多类下重复相同的属性。
例如对于内联div我有fl和fr类来表示左右浮动,对于流体宽度我有20个宽度类。以下是我提到的通用样式表中的一些类。它适用于我。
.fl { display:inline; float:left;}
.fll { display:inline!important; float:left!important;}
.fr { display:inline; float:right}
.frr { display:inline!important; float:right!important;}
.ib { display: -moz-inline-block; display:inline-block;}
.clear { clear: both}
.none {display:none;}
.noni {display: none!important;}
.block {display:block;}
.blocki {display: block!important;}
.pointer {cursor: pointer !important;}
...
.w10 { width: 10% !important; }
.w15 { width: 15% !important; }
.w20 { width: 20% !important; }
.w25 { width: 25% !important; }
...
所以这种技术当然不能作为框架的替代,但是如果你不希望你的风格和你之间有任何其他的东西,那么这种方法就足够了:)
思南。
P.S。在IE6及以下版本中,多个类工作有问题,这是在现代浏览器中使用。见the table at Quirksmode
答案 7 :(得分:0)
我在某些地方使用过Blueprint-css并发现它很有用。
答案 8 :(得分:0)
960 Grid System旨在通过提供基于960像素宽度的常用尺寸来简化Web开发工作流程。有两种变体:12和16列,可以单独使用或串联使用。
我更喜欢流体版960.gs:Fluid 960 Grid System
答案 9 :(得分:0)
刚刚开始使用960网格的项目。设计师很早就买进了它,并让它指导他的设计。
我必须说,它要快得多。花费更少的时间测量模型上的像素,询问设计师的意图,并用CSS来构建“页面模板”。花更多的时间来实现设计。
答案 10 :(得分:0)