我有一个水平手风琴式系列的 div,默认宽度为 33.33%。我正在使用 Jquery 将其中一个 div 设置为 60%,将另外两个设置为 15%,因此我保留了全屏宽度。
但是,将鼠标悬停在 div1 或 div2 上会导致 div3(三行中最右边的 div)暂时闪烁或消失(我想直到 Jquery 将其动画化到不会将其踢到下一行的宽度网格)。
有什么方法可以防止这种闪光发生 - 也许是 CSS 调整?解决方案可能就在我面前,但我无法看到如何在不消除网格行为的情况下防止错误。
我的 HTML:
<div class="grid grid-pad">
<div id="div1" class="col-1-3">
<div class="content">
DIV 1
</div>
</div>
<div id="div2" class="col-1-3">
<div class="content">
DIV 2
</div>
</div>
<div id="div3" class="col-1-3">
<div class="content">
DIV 3
</div>
</div>
</div>
CSS:
body {
margin: 0px;
}
[class*='col-'] {
float: left;
padding-right: 20px;
}
[class*='col-']:last-of-type {
padding-right: 0px;
}
.grid {
width: 100%;
min-width: 755px;
margin: 0 auto;
overflow: hidden;
}
.grid:after {
content: "";
display: table;
clear: both;
}
.grid-pad {
padding: 20px 0 0px 20px;
}
.grid-pad > [class*='col-']:last-of-type {
padding-right: 20px;
}
.push-right {
float: right;
}
/* Content Columns */
.col-2-3 {
width: 66.66%;
}
.col-1-3, .col-4-12 {
width: 33.33%;
}
.col-1-6, .col-2-12 {
width: 16.667%;
}
#div1 {
background-color: blue;
}
#div2 {
background-color: red;
}
#div3 {
background-color: yellow;
}
和jQuery:
$('#div1').hover(function() {
$(this).stop(true, true).toggleClass('col-2-3', [1000]),
$('#div2, #div3').stop(true, true).toggleClass('col-1-6', [1000]);
});
还有 JSfiddle - http://jsfiddle.net/yysNr/47/