CSS模块化设计——从空格谈起
日期:2007年12月18日 作者: 查看:[大字体 中字体 小字体]-
一、空格运算符 (1)CSS语言
简单地说,CSS语言类似JS语言,是通过客户端下载后,通过本地浏览器解析。而CSS语言又是非常低级的“弱类型”语言,离JS这种基于对象的比较完善的“弱类型”语言,还差相当一段距离。要知道CSS样式是定义出来的,而样式的呈现是根据文档流顺序和CSS优先级别,浏览器自己识别计算后显示出来的。而浏览器又有忽略和纠错功能(尤以IE为甚),所以样式定义的语法有错误,并不影响浏览器正常工作,只不过显示不出应有的效果罢了。在我们设计定义样式的时候,排错是比较令人苦恼的,其本质原因是于这种弱类型CSS语言本身的不严禁性有关系的,所以我们就更应该注重CSS定义的严禁,才能出较少的错误,较快更好的完成工作。(2)CSS的运算符
首先说,CSS语言的运算符就不多,有.#{}:";还有一个非常重要的空格。这几个运算符,都是常用的定义声明符号。而在CSS样式定义中,空格就有点特殊,我们可以把它视为在.Net或Java中命名空间或类包定义中的 . 运算符。换句话说,我们可以把空格视为路径指向的箭头,表明HTML标签的父子级别关系。CSS是与HTML想关联的,也就是说,CSS的每一个定义都与“某个HTML标签”或“某段模块化HTML代码”相对应,而HTML可以调用多个样式类。一个CSS样式类可以根据HTML代码来“复合定义”;一个HTML标签也可以“复合调用”多个样式类。所以说,CSS样式定义的复杂性与关联的HTML是密不可分。
(3)实例说明
以下是引用片段:
<style type="text/css">
td .b {
color:#00ff00;
}
th.b {
color:#ff0000;
font-family:黑体;
font-size:20px;
}
.b {
color:#0000ff;
font-size:12px;
}
</style>
<table>
<tr>
<td><div class="b">第一个类b的类路径是th .b</div></td>
<th class="b">第二个类b的类路径是th.b</td>
<td class="b">第三个类b的类路径是 .b</th>
</tr>
</table>
<div class="b">第三个类b的类路径是 .b</div>
讲解:1、第一个类b的类路径是td .b,定义该HTML文档内所有的td标签内的带class="b"的标签的样式 。
以下是引用片段:
td .b {
color:#00ff00;
}
定义的是<td><div class="b">text</div></td>这组代码块中的b类,class="b"是包含在td标签内的,是td的子级,所以在这里要用“空格”指向明确表明父子级别关系。2、第二个类b的类路径是th.b,定义的是该HTML文档内所有的带class="b"的th标签的样式。
以下是引用片段:
th.b {
color: #FF0000
}
定义的是<th class="b">text</td>,在这里的代码中,th和class='b'是平级的,先th后.b组成一个同级类路径th.b,所以没有空格代表“HTML类”和“自定义类”具有同级路径!3、第三个类b的类路径是 .b,定义该HTML文档内所有的td标签的样式,它是该文档的一个全局样式,是body .b的简写。
以下是引用片段:
.b {
color:#0000ff;
font-size:12px;
}
定义了<td class="b">第三个类b的类路径是td.b</th>和<div class="b">第三个类b的类路径是 .b</div>这两处的b类没有明确的路径指向,优先级别要比有明确路径的低。4、大家可以看到,在HTML代码中,同样都是class="b",但是在CSS定义时,采用的类路径不同,作用就不同了。类路径越完整,优先级越高。在具体应用的时候,我们可以,使用完整类路径来定义某HTML代码块某一些特殊地方,做异化处理。例如本例表头th的黑体字显示效果。
二、HTML中复合调用样式类
(1)在一个HTML标签内,可以复合调用多个样式类,也是用空格做运算符,复合类名总字符不能超过256。
(2)示例:
以下是引用片段:
<style type="text/css">
.myTxt {
font-size:50px;
font-family:Arial Black;
}
.txtRed {
color:red;
}
.txtOrange {
colorrange;
}
.txtGreen {
color:green;
}
.txtBlue {
color:blue;
}
</style>
<ul>
<li class="myTxt txtRed">123</li>
<li class="myTxt txtOrange">Text</li>
<li class="txtGreen">Text</li>
<li class="myTxt txtBlue">Text</li>
</ul>
(3)应用:
对于某些多数样式属性累同,仅有几个不同样式属性的定义,可以用这个方法来缩写。也可以在某个不改变某个通用样式类的同时,用HTML调用复合类,突出局部特例。三、CSS+HTML的模块化设计
(1)举个简单例子:
.classNameA .classNameB .classNameC
就是一个类包路径,A包含B,B包含C. 意思就是,在A块内的全部HTML代码(包括B块、C块),先应用样式classNameA; 然后,在B块内的全部HTML代码(包括C块),先应用样式classNameA,之后再先应用样式classNameB; 最后,在C块内的全部HTML代码,先应用样式classNameA,再先应用样式classNameB,最后应用样式classNameB;(2)在样式表中,关于类包的路径,对于某些复杂的HMTL代码,最后写绝对路径,就是每一个类名都不要拉下。这样可读性更强,错误率更小;当然,宽容度就越低。
例如
以下是引用片段:
<style type="text/css">
/*控制 li 的样式*/
.a1 ul li {
color:red;
}
/*控制class="a"的div块内,全部连接 a 的样式*/
.a1 a {
font-size:20px;
}/*控制class="a"的div块内,一个一个为 class="mylink"的样式*/
.a1 .myLink {
font-size:12px;
}/*控制 li 内连接a的样式*/
.a1 ul li a {
font-size:40px;
}/*控制名 li 内,一个为 class="mylink"的连接的样式 */
.a1 ul li .myLink {
font-size:60px;
font-family:黑体;
}/*b1样式*/
.b1 {
color:blue;
}
/*控制 li 内 b1 的样式*/
.a1 ul li .b1 {
color:green;
}
</style><div class="a1">
<a href="#">linkText</a>
<a href="#" class="myLink">titleText</a>
<div class="b1">b11111111</div>
<ul>
<li>
<a href="#">titleText</a>
<div class="b1">nameCN</div>
</li>
<li>
<a href="#" class="myLink">titleText</a>
<div class="b1">nameCN<span class="c1">nameEN</span></div>
</li>
<li>titleText</li>
<li>titleText</li>
<li>titleText</li>
</ul>
</div>样式,按*.HTML从内层到外层;按*.CSS上下文,从下文到上文;按内联样式表上下文,从下文到上文;按内嵌>内联>外联的优先级;
叠加覆盖计算最终显示效果。CSS语句,严格说是JS代码的一类,换句话说,CSS语句也是“弱类型”的,空格是一个“运算符”,由于“弱类型”不严谨,所以,没有空格的时候,虽然不报错,也有显示效果,但那是按错误逻辑运算的,有时歪打正着,但确莫名其妙。再加上有很多满足各浏览器的HACK语法,CSS语句就更加零乱不堪。所以,写的时候,尽量在满足宽容度的情况下,严禁一些。
(出处:急速软件下载学院)
-
- CSS模块化设计——从空格谈起 相关文章:
- ·CSS模块化设计——从空格谈起
- ·再谈用Flash引导线制作爱心图案动画
- ·谈谈跨站脚本攻击与防御技巧
- ·从与客户沟通谈程序员的内在职业素养
- ·浅谈搜索引擎技术的难点及工作原理
- ·Web 的内容、结构与表现漫谈
- ·安全专家谈未来网络的十大安全趋势
- ·浅谈DB2数据库故障处理及最佳实践
- ·网站设计杂谈
- ·谈谈网站改版的必要性
- CSS模块化设计——从空格谈起 相关软件
- ·《结界师 鸟森妖奇谈》(日)模拟器
- ·恶灵谈判专家
- ·传说怪谈中的美文《燃犀奇谈》(网络版)
- ·象棋列炮纵横谈
- ·网络最佳妖怪小说《都市妖奇谈》实体书版
- ·大陆悬恐第一品牌《怪谈协会系列作品集》
- ·《中国茶文化知识漫谈》
- ·央视访谈节目—《艺术人生》
- ·江湖丛谈(选载)
- ·庚子西狩丛谈
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·用CSS给网页图片添加滤镜效果
- ·学习CSS制作网页的多个经验技巧
- ·站长推荐:53个CSS-不可或缺的技巧
- ·网页中用于构造图表的一些基本CSS代码
- ·DIV CSS网页布局实例:十步学会用CSS建站
- ·DIV CSS网页技巧:网页布局中border断线现象
- ·推荐好文:无懈可击的CSS圆角技术
- ·用Div仿showModalDialog模式菜单的效果
- ·学习CSS制作网页总结的一些经验技巧
- ·网站配色,CSS主色调配色方案
- ·自定义网页超链接下划线的CSS代码
- ·CSS样式表实现效果很好的分页效果源代码
- ·用CSS实现文字垂直居中的代码
- ·网页制作学习:由浅入深详解CSS的margin属性
- ·5款纯div+css制作的弹出菜单(标准且无js)
- ·CSS+DIV+Javascript制作滑动门菜单技术
- ·Css改变鼠标形状的15种效果代码
- ·CSS实现图片阴影效果三部曲(译文)
- ·学习样式表CSS参考:常用的CSS知识
- ·网页制作经验分享:CSS布局如何进行
特别推荐
- ·多个CSS样式表争夺特定选择符的控制权
- ·学习CSS制作网页总结的一些经验技巧
- ·CSS初学者应该保持的一种心态
- ·CSS常见问题和技巧总结
- ·DIV+CSS常见错误汇总
- ·设计中常用的十个CSS技巧
- ·网站配色,CSS主色调配色方案
- ·你是哪个等级的CSS开发人员?
- ·简单的CSS改进网站设计三个技巧
- ·使用CSS样式表让英文文本自动换行
- ·用CSS给网页图片添加滤镜效果
- ·国外译文:网页设计如何使用CSS的选择器模式?
- ·常见的CSS问题的“一站式”的解决方案
- ·学习CSS从何入手技术
- ·CSS注释、命名、继承性、样式排序等CSS技巧的小结
- ·推荐好文:无懈可击的CSS圆角技术
- ·标准网页中用CSS进行段落排版的方法
- ·CSS实现带背景图片的文字链接的方法
- ·网页制作经验分享:CSS布局如何进行
- ·CSS基础:CSS选择符
