为了账号安全,请及时绑定邮箱和手机立即绑定

雪碧图位置没有发生偏移,不明为何。(未使用老师给的模板,只添加了自己认为必要的元素)

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>sidebar</title>
  <style type="text/css">
    *{margin: 0;padding: 0;font: normal 14px "微软雅黑";}
    .cat{
      margin: 30px 20px;
      padding: 5px 10px;
      width: 140px;
      text-align: center;
      position: relative;
      list-style:none;
      border: 1px solid #D1D1D1;
    }
    .cat li{
      height: 30px;
      line-height: 30px;
      border-bottom:1px solid #D1D1D1;
      padding: 10px 10px 0px 10px;
    }
    .cat8{
      border-bottom: none;
    }
    .cat li i{
      width:24px;
      height:24px;
      background: url(http://img1.sycdn.imooc.com//539a950e00015ba500710200.jpg);
      float:left;
      display: inline;
    }
    .cat1 i{background-position: 0 0px;}
    .cat2 i{background-position: 0 -24px;}
    .cat3 i{background-position: 0 -48px;}
    .cat4 i{background-position: 0 -72px;}
    .cat5 i{background-position: 0 -96px;}
    .cat6 i{background-position: 0 -120px;}
    .cat7 i{background-position: 0 -144px;}
    .cat8 i{background-position: 0 -168px;}
  </style>
</head>
<body>
  <div>
      <ul class="cat">
        <li class="cat1"><i></i>服装内衣</li>
        <li class="cat2"><i></i>鞋包配饰</li>
        <li class="cat3"><i></i>运动户外</li>
        <li class="cat4"><i></i>珠宝手表</li>
        <li class="cat5"><i></i>手机数码</li>
        <li class="cat6"><i></i>家电办公</li>
        <li class="cat7"><i></i>护肤彩妆</li>
        <li class="cat8"><i></i>母婴用品</li>
      </ul>
  </div>
</body>
</html>


正在回答

1 回答

与选择器的优先级有关。一般而言,选择器指向的越准确,它的优先级就越高。分析下面的优先级代码:

.cat1 i{background-position: 0 0px;}  //优先级总值 10+1
.cat li i{      width:24px;
      height:24px;
      background: url(http://img1.sycdn.imooc.com//539a950e00015ba500710200.jpg);
      float:left;
      display: inline;
    }                                // 优先级总值 10+1+1

而浏览器渲染模板的逻辑,选择器指向对象相同的情况下,只会执行优先级值高的,所以

你可以这样写就行了 将

.cat li i{      width:24px;
      height:24px;
      background: url(http://img1.sycdn.imooc.com//539a950e00015ba500710200.jpg);
      float:left;
      display: inline;
    }

改为

i{      width:24px;
      height:24px;
      background: url(http://img1.sycdn.imooc.com//539a950e00015ba500710200.jpg);
      float:left;
      display: inline;
    }

或者这样 将所有形如这样的

 .cat1 i{background-position: 0 0px;}

改为这样就可以了

 li.cat1 i{background-position: 0 0px;}    //该处选择器指向更准确,值更高


2 回复 有任何疑惑可以回复我~
#1

myrtis 提问者

恍然大悟,真的很谢谢!
2015-09-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

雪碧图位置没有发生偏移,不明为何。(未使用老师给的模板,只添加了自己认为必要的元素)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信