【原】a.class与a .class的区别

4月份一直忙,一直想抽时间来写博文,现在终于挤出来了,回忆在小钱包项目中遇到各种困难的问题,对a:hover.class与a:hover .class的用法不是很理解,写法的区别在于在hover与.class中间是否多一个空格。以前每次我都宁愿多写个class来避开这种写法,后来为了使用css sprite技术的背景图,花了点时间去研究下,终于了解其中的原理,文章内容简单,高手就当做路过,不清楚的同学请留意下,或许对你有帮助。

看下面的2组结构和样式...

第一组

<a href="#"><span class="ico-manage">管理</span></a>

使用样式一:

a:hover{color:black}
a:hover.ico-manage{color:red;}

此时鼠标经过”管理“2字,颜色为黑色

使用样式二:

a:hover{color:black}
a:hover .ico-manage{color:red;} //注意空格
此时鼠标经过”管理“2字,颜色为红色 第二组 <a href="#" class="ico-manage">管理</a> 使用样式一: a:hover{color:black} a:hover.ico-manage{color:red;} 此时鼠标经过”管理“2字,颜色为红色
使用样式二: a:hover
{color:black} a:hover .ico-manage{color:red;} //注意空格
此时鼠标经过”管理“2字,颜色为黑色

对于第一组的a与.ico-manage, .ico-manage属于span标签的,与a不同级;而对于第二组的a与.ico-manage, .ico-manage属于a标签的,即是与a同级,由此可得出一个结论:

1.当class为当前标签中一个属性时,则样式写为:标签+class名

2.当class为子标签的一个属性时,则样式写为:标签+空格+class名

 

 

 

 

 

posted @ 2012-05-08 22:51  白树  阅读(5871)  评论(8编辑  收藏  举报