将其他类添加到li元素

时间:2014-01-15 10:35:09

标签: html css

我有一个像

这样的元素列表
<ul id="Menus">
   <li>Home</li>
   <li>About</li>
   <li>Contact</li>
</ul>

和很少的CSS类,如

.classOne
{
   height:20px;
   background-color:#f00; 
   background-image:url('icons.png');
   background-repeat:no-repeat; //and many other style properties
}

.classTwo
{
   width:50px;
   border:1px solid #ccc; //and many other style properties
}

#Menus li
{
   display:inline-block;
   list-style:none;
}

现在我如何在#Menus li上应用.ClassOne和.ClassTwo?我知道我可以通过这段代码来做到这一点

 .classOne, #Menus li
 .classTwo, #Menus li

但除了上面的代码之外还有其他任何方法可以做到这一点,因为我有很多其他li和其他元素所以我将不得不继续添加?按照上面的代码,它会创建一个长列表,如

.classOne, #Menus li, #otherMenus li, #bgImages li, #etc li, #etc

然后如果有时候我必须改变某些东西那么就会产生问题。我只想在任何li元素上应用我的.classOne和.classTwo,而不是像上面那样添加。有没有css技巧?

3 个答案:

答案 0 :(得分:0)

听起来你想使用像SASSLESS这样的CSS预处理器。它们允许您在css中重用代码段。

你在LESS中可能做的是:

.some-css
{
   width:50px;
   border:1px solid #ccc; //and many other style properties
}

#Menus li
{
   display:inline-block;
   list-style:none;
   .some-css;
}

#Menus li的风格将成为:

#Menus li
{
   display:inline-block;
   list-style:none;
   width:50px;
   border:1px solid #ccc;
}

答案 1 :(得分:0)

您只需在ul元素上引入一个新类:

<ul id="Menus" class="newClass">
    <li>Home</li>
    <li>About</li>
    <li>Contact</li>
</ul>

<ul id="otherMenus" class="newClass">
    <li>Home</li>
    <li>About</li>
    <li>Contact</li>
</ul>

然后简单地说:

.classOne, .newClass li {
    ...
}

.classTwo, .newClass li {
    ...
}

答案 2 :(得分:0)

您是否有理由不想直接在HTML li元素上添加所需的类?

例如:

<ul id="Menus">
   <li class="classOne classTwo">Home</li>
   <li class="classOne classTwo">About</li>
   <li class="classOne classTwo">Contact</li>
</ul>