2009-08-12 84 views
14

如果是,哪一个?为什么? 如果不是,为什么?你如何修复跨浏览器的CSS渲染?你使用CSS框架吗?

我目前使用蓝图的CSS,我不知道这是一个不错的选择。谢谢! :)

回答

28

不,我没有使用任何框架,只是我再用一遍又一遍地一个深思熟虑的命名系统,并用几个重置一个基本的CSS和一些基本样式。

为什么我不使用css框架?

框架的使用通常假定设计人员熟悉它的约定,这通常不是这种情况 - 你不是设计页面的人,或者客户拥有自己的设计师。即使情况并非如此,总会有设计不适合960像素,或者只是具有均匀的大小,因此您无法使用魔法.span-4类。

这导致我到下一个点。命名不是语义的。理论上你会期望一个框架来缓解维护一个大的网站。但是,假设您必须稍作设计更改。这基本上意味着在涉及的所有模板视图中更改html。即使使用版本控制系统,这也很困难并且有风险,因为它必须回滚到单个css文件,而另一个则需要回滚到100个视图。所有这些都是因为input.span-19应该少于5pixels。 CSS框架 - 新的内联CSS。

跨浏览器问题呢?无论你是否使用框架,这都不会改变。有一些浏览器或操作系统具有某些特殊性。底线 - Internet Explorer仍然会吸收太多。

CSS框架突出了纪律性,我必须给他们信任,但最终都是关于编写代码的。

+4

+1用于解释CSS框架的问题。 – strager 2009-08-29 22:34:13

+0

完全正确。我曾经在大型项目中使用过960gs,并且遇到了所有提到的问题。 – kurczak 2009-08-29 22:53:09

+0

有一点我不同意:跨浏览器兼容性。我的选择归结为保持设计简单到可以避开所有问题,或者学习所有CSS的入侵,出局和黑客攻击,或者使用Grid 960这样的工具,它具有奇妙的内置解决方案.Grid 960提供了相同的结果FireFox和IE7之间的百分比差异,这比我能够实现的要多得多。 (上帝保佑Nathan Smith创建了Grid 960.) – Smandoli 2009-12-30 17:42:05

2

我使用Blueprint和Compass框架。编码CSS再次变得令人愉快。 :-)

+0

我没有听说过Compass和Sass。看起来很有趣。谢谢! :) – Philippe 2009-08-12 02:52:13

+0

没问题。我希望你喜欢它。 :-) – 2009-08-12 05:25:58

3

我喜欢yui css工具。那些人肯定花了更多的时间来处理跨浏览器的CSS比我会关心。我没有尝试过别人。

3

我使用雅虎的yui-css框架。这是我遇到的第一个,它很容易理解。我刚刚看到视频和作弊表,并使其工作。同时,雅虎在他们的一些网站上使用它。

0

我在一些地方使用了Blueprint-css,发现它非常有用。

0

960 Grid System是通过提供基于960像素宽度的常用尺寸简化Web开发工作流程的工作。有两种变型:12和16列,可以单独使用或串联使用。

我喜欢960.gs的流体版本:Fluid 960 Grid System

2

Compass/Sass的组合非常棒,并且提供了几个插件,可以在不使用非语义类名的情况下使用您选择的框架。在Compass之外,我总是发现框架过于严格并且使用太多标记。

我不是Compass的蓝图,960gs和YUI插件的粉丝:它们最初是为了额外的标记而使用的,并没有充分利用Compass/Sass的额外灵活性。所以我构建了'Susy' - 一个灵活的框架,它是Compass/Sass原生的。

无论您使用的插件(或写你自己的),我强烈建议北斗/萨斯比作为额外的标记一个更好的选择。

+0

您的链接已死亡。 – markus 2012-03-06 00:56:52

+0

固定,谢谢:http://susy.oddbird.net/ – 2012-03-18 07:33:26

0

刚开始使用960网格的项目。设计师很早就进入了这个领域,并让他指导他的设计。

我必须说,它要快得多。花更少的时间测量模型上的像素,向设计师询问意图,并用CSS去构建“页面模板”。花更多的时间来实施设计。

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

0

我使用一些定期,我会建议您检查出来。

heymuscle是一个负责任的CSS框架,适合1140px/960像素/ iPad的/类似于960gs

960 grid是最流行的网格在那里的一个iphone,并提供易于使用的类布置您的网页

1140 grid是流体布局

希望这有助于

8

我注意到关于CSS框架的两大误解。

首先,有趋向于很多在软件开发中使用的框架的概念之间的混乱,作为一种工具和诸如960gs一个类型的框架。

Wikipedia defines a framework作为“一种抽象,其中提供通用功能的软件可以通过用户代码选择性地改变,从而提供专用软件”。

@vise说:“我不使用任何框架,只是我再用一遍又一遍地一个深思熟虑的命名系统,并与几个复位和一些基本的样式基本的CSS。”这类似于“我没有使用任何框架,只是一个框架”。这可能是某种语义讽刺。没有任何意图:)

蓝图,960,指南针等都是所有类型的框架。因为一些CSS框架可能不是语义的,或者缺乏某些合意的品质,这并不意味着CSS框架是一个坏主意。

第二个误解是,CSS和CSS框架是互斥的。你要么手工编码CSS,要么使用框架(用一些自定义的东西)。但是...等一下...不是CSS一组默认元素,我们可以改变或扩展以满足我们的特定要求?根据维基百科的定义,CSS看起来像一个框架。

当然,这第二点是值得商榷的。但是我经常发现人们在不知道的情况下正在使用某种框架。

要回答你的问题,我倾向于使用类似sassmy own framework。在我最近的项目中,我正在使用这个和目前看起来不错的Bourbon的组合。我使用框架的主要原因是因为我厌倦了CSS中的冗余。真的很无聊,不得不一遍又一遍地重复相同的值。在设计中还有其他的概念,CSS不太好,我不会在这里介绍(参见here)。但是通过使用一个框架,可以将所有问题抽象出来,并且只是努力完成任务。

我希望这有助于!