原创作者: 冰云   阅读:2620次   评论:4条   更新时间:2011-05-26    
之前想到过用类似于面向对象的方法来做CSS,昨天搞了一晚上做了一个小例子。
做这个很有成就感,看到漂亮的东西从手中出来,很高兴。
不过到最后遇到了一个小问题,这个一会儿说,看谁有办法解决。

主要的设计思路是,例如对于某个类型的Table,在系统中肯定会出现多次,
因此把这种Table总结为一个CSS,而这些不同的CSS又有一些共性。
.sampleTable {
}
.sampleTable2 {
}

例如表头,数据行等等。因此做一个CSS模版,通过CSS属性继承的技巧来实现。
.sampleTable1 {
}
.sampleTable1 .menu{
}

.sampleTable2   {
}
.sampleTable2 menu {
}


附件里面是一个做好的CSS,嘿嘿,里面绝对有你没想到的效果。
这附件就算是这个Css模版的0.1版本吧,呵呵,还有不少东西需要改进。

针对这种写CSS的技巧我简单总结了几个如下:
1 尽量避免复写Tag( 形如 A {});,因为会导致同一Tag的其他class失效
2 对于text的一些修饰只能写在class本体中,对于:link等无效
3 border如果合并(collapse);是前面的压后面的,上面的压下面的,而且只对table和td有效。tr无效
4 为了写border,所有的td都加相同class
5 为了简化,可以去掉td中的span,把span的class写在td里面,但不建议这样写
6 如果想要用CSS切断多出的文字,需要附加新的class才行,而且要指定固定的长度
7 隔行颜色和行鼠标行为用expression来制作,列定义了四种,id列,主内容列,特殊列,其他列。估计一般够用吧
8 层次很重要,class应该仅出现同一层次
9 字号字体等在顶层table中定义,其他部分用em等相对大小来控制
10 可以考虑用script来附加class,不过我是希望尽量用CSS来控制一切(估计很难了);,当然,css也是可以附加script的,不过功能有限


昨天在最后的时候,我遇到了一个问题恨头疼:
 我使用expression来控制TR行的隔行同色,但是麻烦的是,
 如果我想在其中的TD中声明背景url,就会把IE搞死。
 例如icon这个class,我本来的意图是作象新闻列表前面那样的图标的
 你可以放一个css.gif在同目录下试试看,现在没有图片很正常
 谁有解决问题想法?我想通过js可能能解决掉。

问题已经解决,通过htc搞定

美工和程序员如何合作? 我的答案是就靠这种规则的CSS
因为结构比较规则,所以可以通过固定的Taglib来生成table
美工可以对固定的css进行维护,不一定要会css,只要制作图片就好了。
当然这需要由一个精通css/script的人来做中间人来将图片和CSS做在一起

缺点也有,1是规则css失去了一点灵活性,2是增加了人力

这个才只对一个table作了模版,如果要应用,还需要做form等等的不同css
另外,由于上面的问题,估计纯css不用script的可能性不大

哪位对有兴趣可以和我MSN联系,如果认识其他CSS方面造诣深的朋友也希望介绍一下
评论 共 4 条 请登录后发表评论
4 楼 u013680195 2014-04-02 18:35
CSS基础教程17篇

此教程共17篇,由浅到深、循序渐进的讲述CSS知识。
对初学者有很大的学习价值,对已入门的朋友也有重要的参考价值。

1、CSS的应用
http://www.weby.com.cn/view.asp?id=13

2、CSS Selectors,Properties,and Values 选择器 、属性、值
http://www.weby.com.cn/view.asp?id=14

3、CSS的color颜色
http://www.weby.com.cn/view.asp?id=15

4、CSS的Text 文本
http://www.weby.com.cn/view.asp?id=16

5、Margin和Padding
http://www.weby.com.cn/view.asp?id=17

补充:CSS盒模型(Box Model)问题详解
http://www.weby.com.cn/view.asp?id=18

6、CSS的Border边框
http://www.weby.com.cn/view.asp?id=19

7、CSS属性结合起来使用
http://www.weby.com.cn/view.asp?id=20

8、CSS的Class以及ID选择器
http://www.weby.com.cn/view.asp?id=21

9、CSS的Grouping and Nesting分组和嵌套
http://www.weby.com.cn/view.asp?id=22

10、CSS的Pseudo Classes 伪类
http://www.weby.com.cn/view.asp?id=23
11、CSS的属性缩写
http://www.weby.com.cn/view.asp?id=24

12、CSS的Background Images 背景图片
http://www.weby.com.cn/view.asp?id=25

13、CSS的display属性
http://www.weby.com.cn/view.asp?id=26

14、CSS网页布局Page Layout
http://www.weby.com.cn/view.asp?id=27

15、CSS的At-Rules@规则
http://www.weby.com.cn/view.asp?id=28

16、CSS的伪元素Pseudo Elements
http://www.weby.com.cn/view.asp?id=29

17、CSS的优先级特性Specificity 
http://www.weby.com.cn/view.asp?id=30
3 楼 luiss 2012-04-13 16:28
楼主精神可嘉,2004年写,2011年更新,呵呵
2 楼 denim 2011-11-16 16:26
请不要把自己叫 美工。。。
1 楼 playfish 2009-03-11 12:33
汗。。。看了一下怎么这么古老,原来是2004年的文章

发表评论

您还没有登录,请您登录后再发表评论

文章信息

  • kj23在2004-05-12创建
  • kj23在2011-05-26更新
Global site tag (gtag.js) - Google Analytics