css调式技巧:a.class与a .class的区别,千万别小看空格

作者: 不详 2013/7/5 10:56:34

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

第一组

<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名

特别推荐

玩家留言 跟帖评论
查看更多评论