CSS条件 - 如果元素同时具有两个类

时间:2012-01-05 10:18:42

标签: css

如何在CSS样式表中创建条件?

这里我得到了一个样式表..但是如果在一个元素上添加div.menu_active,那么该类必须表现得像它的悬停?你怎么能这样做?

或者是否有更好的方法为此解决方案构建样式表?

<div class="menu">menu</div>
<div class="menu menu_active">menu</div> // has to behave like menu:hover

<div class="menu_green">menu</div>
<div class="menu_green menu_active">menu</div> // has to behave like menu_green:hover

div.menu {
background:url('menu_opacity50.png');
}

div.menu_green {
background:url('menu_green_opacity50.png');
}

div.menu_active {
}

div.menu:hover {
background:url('menu_opacity100.png');
}

div.menu_green:hover {
background:url('menu_green_opacity100.png');
}

4 个答案:

答案 0 :(得分:1)

我想你可能是这个意思:

div.menu.menu_active,
div.menu:hover {
    background:url('menu_opacity100.png');
}

div.menu_green.menu_active,
div.menu_green:hover {
    background:url('menu_green_opacity100.png');
}

答案 1 :(得分:1)

您可能想要这样做

div.menu {
    background:url('menu_opacity50.png');
}

div.menu_green {
    background:url('menu_green_opacity50.png');
}

div.menu.menu_active {
    background:url('menu_opacity100.png');
}

div.menu_green.menu_active {
    background:url('menu_green_opacity100.png');
}

答案 2 :(得分:1)

如果我理解正确,这就是你需要的:

div.menu:hover, .menu.menu_active {
    background:url('menu_opacity100.png');
}    
div.menu_green:hover, .menu_green.menu_active {
    background:url('menu_green_opacity100.png');
}

.menu.menu_active将选择两个所列类别的元素,例如<div class="menu menu_active">

答案 3 :(得分:0)

将悬停元素重叠到正常状态并隐藏它(display:none)然后使用JS / jQuery切换显示。