我有两个div元素放在一起,如果用户将鼠标悬停在其中一个上,我想更改它们的属性background-color
。
因此,对于两个div,背景颜色最初应设置为#d8d8d8
,如果我将鼠标悬停在其中一个div上,则应在两个div上更改为#cacaca
。
我用jquery解决了它:
$("#FOO").hover
(
function()
{
$(this).css("background-color","#CACACA");
$("#BAR").css("background-color","#CACACA");
},
function()
{
$(this).css("background-color","#D8D8D8");
$("#BAR").css("background-color","#D8D8D8");
}
)
$("#BAR").hover
(
function()
{
$(this).css("background-color","#CACACA");
$("#FOO").css("background-color","#CACACA");
},
function()
{
$(this).css("background-color","#D8D8D8");
$("#FOO").css("background-color","#D8D8D8");
}
)
.buttons {
border:1px solid black;
background-color: #D8D8D8;
height: 100px;
font-family: play;
font-size: 30px;
text-align:center;
vertical-align: middle;
line-height: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class="col-xs-10 buttons" id="FOO" style="border-right: 0px">
<span style="padding-left:100px">FOO</span>
</div>
<div class="col-xs-2 buttons" id="BAR" style="border-left: 0px">
<span>BAR</span>
</div>
有没有更好的方法来实现这一目标?也许只有css?
答案 0 :(得分:5)
您可以在div
中换行列并在其上添加:hover
:
.buttons {
border:1px solid black;
background-color: #D8D8D8;
height: 100px;
font-family: play;
font-size: 30px;
text-align:center;
vertical-align: middle;
line-height: 100px;
}
.row:hover > .buttons {
background-color: #CACACA;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class='row'>
<div class="col-xs-10 buttons" id="FOO" style="border-right: 0px">
<span style="padding-left:100px">FOO</span>
</div>
<div class="col-xs-2 buttons" id="BAR" style="border-left: 0px">
<span>BAR</span>
</div>
</div>
答案 1 :(得分:3)
我会给两个div同样的css类:
<div class="col-xs-10 buttons buttonset1" id="FOO" style="border-right: 0px">
<span style="padding-left:100px">FOO</span>
</div>
<div class="col-xs-2 buttons buttonset1" id="BAR" style="border-left: 0px">
<span>BAR</span>
</div>
然后在jquery中你可以制定以下规则:
$(".buttonset1").hover
(
function()
{
$(".buttonset1").css("background-color","#CACACA");
},
function()
{
$(".buttonset1").css("background-color","#D8D8D8");
}
)
你这样更灵活。