关于CSS“少用继承,多用组合”的问题
时间:2011-09-02
来源:互联网
继承是 css中经常要用到的技术,好处是可以尽量让页面的代码减少重复利用。但是如果网站做的很大,继承的缺点就出来了,不利于维护和控制。
于是就有了另外一种方法组合,什么是组合呢?组合的概念就是使用多个class类来定义属性,类似于雅虎YUI,把属性分成两种,公有和私有。
公有的类可以重复使用,私有则可以定义特有的属性。在开发阶段可以节约很多时间。很多的前端人员都很推崇这种方法,认为这个可以节约很多时间。很多出版的书上也是这么提倡的。
于是我就研究下,发现了很多问题,现在拿出来跟大家讨论讨论.。我们先看以下代码。
查看大图 这个是典型的css组合的例子,它的本意是随着需求的变化,应用的不同,可能会用到不同的字体大小,不同的边距。于是将这些有变化的属性拆开,单独命名,以达到重用的目的。
现在问题就很明显了,这个明显只在网站正式运营之前有效,如果网站运营了一段时间,页面已经很多了的时候。这时候要求改版,让你把左边变右边,字体大小换一下。你怎么换呢?原先我只要在唯一的一个css里面修改就可以了。现在你反而拆开来了。这时候我要该变字体大小就只能2种办法了。
1.后台每一页面都去修改把CLASS里的类名F-12改成F-14.这样就要设置很多的变量了,速度会受到很大的影响,而且我不懂后台,这种是就只能交给后台做了。
2.在它唯一的私有类里设置大小并且提高它的权重用来覆盖基类。这样的话组合不是没有意义了么。
所以我觉得从开发速度来考虑可以使用组合,从以后的维护上面还是一个一个加样式好点。修改会更加直观和方便。
我从事这个行业不长,可能这个问题对大家已不是问题,还请各位大侠赐教。
还请各位说说你们的看法,让我参考参考
于是就有了另外一种方法组合,什么是组合呢?组合的概念就是使用多个class类来定义属性,类似于雅虎YUI,把属性分成两种,公有和私有。
公有的类可以重复使用,私有则可以定义特有的属性。在开发阶段可以节约很多时间。很多的前端人员都很推崇这种方法,认为这个可以节约很多时间。很多出版的书上也是这么提倡的。
于是我就研究下,发现了很多问题,现在拿出来跟大家讨论讨论.。我们先看以下代码。
查看大图 这个是典型的css组合的例子,它的本意是随着需求的变化,应用的不同,可能会用到不同的字体大小,不同的边距。于是将这些有变化的属性拆开,单独命名,以达到重用的目的。
现在问题就很明显了,这个明显只在网站正式运营之前有效,如果网站运营了一段时间,页面已经很多了的时候。这时候要求改版,让你把左边变右边,字体大小换一下。你怎么换呢?原先我只要在唯一的一个css里面修改就可以了。现在你反而拆开来了。这时候我要该变字体大小就只能2种办法了。
1.后台每一页面都去修改把CLASS里的类名F-12改成F-14.这样就要设置很多的变量了,速度会受到很大的影响,而且我不懂后台,这种是就只能交给后台做了。
2.在它唯一的私有类里设置大小并且提高它的权重用来覆盖基类。这样的话组合不是没有意义了么。
所以我觉得从开发速度来考虑可以使用组合,从以后的维护上面还是一个一个加样式好点。修改会更加直观和方便。
我从事这个行业不长,可能这个问题对大家已不是问题,还请各位大侠赐教。
还请各位说说你们的看法,让我参考参考
作者: z704496919 发布时间: 2011-09-02
x1,x2,x3{padding:20px;}
作者: ft284800 发布时间: 2011-09-02
字体这样的属性,我在开发的过程中是不用class组合的方式来控制的。
只有关于布局的属性才会用组合class的方式,像控制字体,大部分还是用的继承。
LZ的这个实验很好,不过似乎实际应用的时候没有多少人会这么做吧。
补充:不是任何的元素都非得要用各种公用的class组合来控制的。
class组件只是抽取了一些常用的重用性较多的元素。
比如全局要求设置font12px,肯定用继承会快的多。偶尔有特殊需求的话,我就会给这个元素单独的加一个私有的class进行控制。
LZ的看法有点太过偏向了。
[ 本帖最后由 Apollyonx 于 2011-9-2 17:16 编辑 ]
只有关于布局的属性才会用组合class的方式,像控制字体,大部分还是用的继承。
LZ的这个实验很好,不过似乎实际应用的时候没有多少人会这么做吧。
补充:不是任何的元素都非得要用各种公用的class组合来控制的。
class组件只是抽取了一些常用的重用性较多的元素。
比如全局要求设置font12px,肯定用继承会快的多。偶尔有特殊需求的话,我就会给这个元素单独的加一个私有的class进行控制。
LZ的看法有点太过偏向了。
[ 本帖最后由 Apollyonx 于 2011-9-2 17:16 编辑 ]
作者: Apollyonx 发布时间: 2011-09-02
你的话没错,但得具体问题具体分析。字体这玩意,没人会用组合来控制的吧,都是继承的,中文网站一般都是全局12px,特定地方(比如标题)单独定义样式;同理,颜色一般也是这种方法处理。组和更多是用在页面布局的,我平时写的时候很少用组合方式,但至少fl fr这种极其常用的属性,我也会单独定义class,用于组合
作者: ypd007 发布时间: 2011-09-02
3楼说得有道理,class组合,还是布局时方便,对于细节控制,还是继承加特殊方式较好。
作者: ddc0826 发布时间: 2011-09-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28