如何正确覆盖box-shadow bootstrap mixin?

Wal*_*rée 5 mixins less twitter-bootstrap

这是代码:

<ul>
    <li></li>
    <li></li>
    <ul>
        <li></li>
        <li></li>
    </ul>
</ul>
Run Code Online (Sandbox Code Playgroud)

这是LESS风格:

ul li { .box-shadow(0 1px 3px rgba(0,0,0,.25)); }
Run Code Online (Sandbox Code Playgroud)

我想覆盖/取消子列表中的mixin,所以我尝试了这个:

ul ul li { .box-shadow(none); }
Run Code Online (Sandbox Code Playgroud)

......但它没有用.我让它工作的唯一方法是明确覆盖mixin上的每一行:

ul ul li { 
          -webkit-box-shadow: none;
             -moz-box-shadow: none;
                  box-shadow: none;
         }
Run Code Online (Sandbox Code Playgroud)

所以有 ul ul li { .box-shadow(none); }什么不对吗?

Wal*_*rée 11

太糟糕了,当它打破整个编译时我没有检查坏输出,但是

ul ul li { .box-shadow(none); }

......工作得很好.:P


Fa1*_*gel 7

如果你使用带有SCSS/SASS的twitter bootstrap,我会使用内置的mixins,它有handels浏览器特定的标志:

ul ul li { @include box-shadow(none); }
Run Code Online (Sandbox Code Playgroud)