css中用#id.class的形式定义样式,为什么这样用,不直接写成.class.代码如下:#skin_0.selected{}这种的

<ul class="skin">
        <li id="skin_0" title="蓝色" class="selected">蓝色</li>
        <li id="skin_1" title="紫色">紫色</li>
        <li id="skin_2" title="红色">红色</li>
        <li id="skin_3" title="天蓝色">天蓝色</li>
        <li id="skin_4" title="橙色">橙色</li>
        <li id="skin_5" title="浅绿色">浅绿色</li>
    </ul>

css中:
#skin_0.selected{background-position:0px 0px;}
#skin_1.selected{background-position:15px 0px;}
#skin_2.selected{background-position:35px 0px;}
#skin_3.selected{background-position:55px 0px;}
#skin_4.selected{background-position:75px 0px;}
#skin_5.selected{background-position:95px 0px;}
#id.class的意思是一个元素定义了一个id的同时还具备对应的一个class样式。例如#skin_0.selected这个样式,就只有在li定义了id为skin_0的同时还定义了.selected的时候才会生效,如果只是给li单单定义一个selected,这个样式是不会生效的。

因为你的这一段css代码里面,列表里的6个LI的背景是一个大图里面的六个部分,所以就要单独定义每一个li的背景,但一个li被选中时,JS会给它加上一个selected的CLASS,如果直接写成.selected,就不能单个定义这6个li被选中的状态了~~
原文地址:https://www.cnblogs.com/shimily/p/3809188.html