当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS样式表中继承关系的空格与不空格

CSS样式表
DIV和CSS排版中制作细线条的方法小结
在解决ul居中问题时想到的几点
网页编辑中CSS样式表技巧总结
一个老外弄的Clearing floats(清除浮动的方法)
常用的DIV+CSS的基本框架结构但不推荐都放一个div里
无js5款纯div+css制作的弹出菜单标准
超强推荐CSS打造经典鼠标触发显示选项
CSS网页布局入门教程5:二列宽度自适应
CSS网页布局入门教程6:左列固定,右列宽度自适应
CSS网页布局入门教程7:二列固定宽度居中
CSS网页布局入门教程9:用CSS设计网站导航——横向导航
CSS网页布局入门教程10:带当前标识的标签式横向导航
CSS网页布局入门教程11:带当前标识的标签式横向导航图片美化版
CSS网页布局入门教程12:纵向导航菜单
CSS网页布局入门教程13:下拉及多级弹出式菜单
CSS网页布局入门教程14:纵向下拉及多级弹出式菜单
解读css发展历史
让用户自己控制网页字体的大小的css书写方法
CSS注释、命名、继承性、样式排序等CSS技巧的小结
CSS标签切换代码实例教程 比较漂亮

CSS样式表中继承关系的空格与不空格


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 242 ::
收藏到网摘: n/a


  这可能是一个非常简单的问题,但是今天花一点点时间把这个简单的问题在说清晰一点,相信大家对CSS的学习和认识会很有帮助,强化一些概念的东西,对以后的工作效率的提高是很有裨益的。
  我们看过一些样式表文件的样式名都写的很长,比如:body #header .topbar.logo{...},这是因为利用了元素的继承关系,利用元素名,或者ID名和类名(也就是class名)来精确定位和描述某一个区域的css样式表格式。
  初学样式表的人肯定会说,我要精确定位一个区域的样式表,用一个class名不就可以吗,还需要这么麻烦吗?这话说的没错,做只有几个页面的小网页,也确实不用这么麻烦,但是当你规划一个大型网站的时候,你就肯定要利用web元素的继承关系,按照从大区域到小区域的次序来写CSS文档。这就就象画画一样,学过绘画的朋友,都知道,画素描都是先打型然后在铺大色调,最后是深入刻画。CSS文档也是,确定大区域的结构,然后在深入继承和规划。
  好了,言归正传,今天要讲的是CSS样式表中继承关系的空格与不空格的问题。先看下面的一个例子:
这是我的CSS文件:
<style type="text/css">
td .a{
color: #006600}
td.b{
color: #FF0000}
</style>
这是我的body元素里的代码:
<table>
<tr>
<td class="b">
<div>
<ul class="a">
<li>这里是标签"li"</li>
</ul>
</div>
</td>
</tr>
</table>
  在CSS文件里td后面跟着的class名是 a 和 b ,a里面我定义的字体颜色是绿色,b里面我定义的字体颜色是红色.现在我要说的是,这两个样式表写法都是正确的,类名b没有空格连着元素<td>,而类名a有空格接着元素<td>,运行此代码,你发现页面显示字体为绿色,这说明页面读取了样式表td空格a的内容,由此我们可以推断,页面样式表文件是按照页面元素由里到外的次序来读取的,取近舍远的原则。
  如果我们把样式表td空格a的空格去掉,你会发现,现在页面字体的颜色是读取的样式表b里的内容,字体变为红色的了。这说明了不空格的样式表写法是针对在当前所在元素内而定的,(因为在页面td元素代码里我们只有写class=b,而没有a,所以a样式表的内容将不在页面中表现出来),而有空格的样式表写法是继承了当前元素内某个元素而定,通过反复的几次测试,继承的层级至少是一个层级以上就可以了,具体没有严格的规定。
  相信看到这里,大家对样式表空格与不空格的关系已经有了一点认识,希望在以后的学习中与大家共勉。如有不正之处,还望包涵,指点!我也只是在工作学习中领悟点认识与大家分享。高手请勿见笑。