我已经减少了我想要实现的目标,因此更容易理解。
好的所以我有三个div如下(全部水平对齐)
<div id="MainGrid">
<div id="Row1">
<div id="row1floatleft">
</div>
<div id="row1floatRight">
</div>
<div id="row1floatMiddle">
</div>
</div>
</div>
当我将鼠标移到row1floatleft上时,它改变了row1floatmiddle的背景颜色,这是完美的工作,我遇到的问题是试图淡出row1floatright div
这是我的css
#MainGrid
{
width:900px;
margin:0 auto;
border:1px solid black;
}
#Row1
{
width:900px;
margin:0 auto;
border:1px solid blue;
}
#row1floatleft
{
width:299px;
float:left;
height:150px;
border:1px solid red;
background-color:Red;
}
#row1floatRight
{
width:299px;
float:right;
height:150px;
border:1px solid yellow;
background-color:Yellow;
}
#row1floatMiddle
{
width:299x;
height:150px;
border:1px solid green;
background-color:Green;
}
#row1floatleft:hover ~ #row1floatMiddle
{
background-color:Blue;
}
我正试图复制这个 http://www.virgin-atlantic.com/us/en/the-virgin-experience.html
所以我将鼠标移到row1floatleft上,它会改变row1floatMiddle的背景色,但是需要淡出所有其他没有悬停的div,我已经尝试过了(:Hover)
#row1:not(:Hover)
{
background-color:Orange;
}
但不与
互动 #row1floatleft:hover ~ #row1floatMiddle
{
background-color:Blue;
}
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
我在这里创造了一个小提琴:http://jsfiddle.net/fLJZv/1/
你的css中有错误:
#row1floatMiddle
{
width:299x;
}
缺少像素的'p'。
我添加了更多CSS:
#row1floatMiddle
{
margin: 0 0 0 299px;
}
和
#row1floatleft:hover ~ #row1floatMiddle
{
opacity: 0.5;
}
#row1floatleft:hover ~ #row1floatRight
{
opacity: 0.5;
}
小提琴(至少)现在有效。 。