如果跨度位于<a> that does not have a class of &#34;folder&#34;?</a>内,我怎样才能使CSS工作

时间:2012-12-11 05:33:38

标签: html css css-selectors

我有以下HTML:

<ul>
   <li>
      <span class="toggle"></span>
      <a class="folder">
         <span>Background</span>
      </a>
      <ul>
         <li>
            <a data-href="/C">
                <span>History</span>
            </a>
         </li>
      </ul>
   </li>
</ul>

我使用以下CSS将光标变为指针:

ul li span {
    cursor: pointer;
}

有没有办法可以修改它,以便<span><a>内有一类文件夹时不会变成指针?

5 个答案:

答案 0 :(得分:2)

您应该可以在这里使用:not() ...

ul li a:not(.folder) span {
    cursor: pointer;
}

由于您在<span>内但<li>之外也有<a>个元素,因此您需要稍微修改选择器...

ul li > span, ul li > a:not(.folder) > span {
    cursor: pointer;
}

或者(或者如果您需要支持不理解:not()的浏览器),只需覆盖它:

ul li span {
    cursor: pointer;
}

ul li a.folder span {
    cursor: auto;
}

答案 1 :(得分:0)

只需在现有规则后添加一个规则:

​ul li a.folder span {
    cursor:initial;
}​

JSFiddle

请注意,initial不是“标准”,因此您可能需要使用,例如defaultauto;

答案 2 :(得分:0)

还添加此CSS:

ul li a span{
cursor: default;

}

http://fiddle.jshell.net/5w2SX/

中查看

答案 3 :(得分:-1)

在CSS下面,适用于所有浏览器

.folder a {
 cursor: default !important;
}

答案 4 :(得分:-1)

ul li a span {
    cursor: pointer;
}

ul li a.folder span {
    cursor: default;
}

第一部分将光标元素“ul li a span”转换为指针。

第二行定义了异常,其中所有类文件夹都将具有默认光标。