您应该使用 CSS 中的相邻选择器 ( +
) 来实现这一点。看看吧,四个项目:
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
这是你的 CSS:
.item {
float:left;
background: #ccc;
width: 50px;
height: 50px;
border: 1px #000 solid;
border-right-width: 0;
}
.item:last-child {
border-right-width: 1px;
}
.item:hover {
border: 1px #f00 solid;
}
.item:hover + .item {
border-left-width: 0;
}
<code>.item 只是正常设置每个项目。它使正确的border
0。
.item:last-child
使最后一个在右侧有一个钻孔器,因为它是最后一个并且旁边没有 div 来模拟边界。
.item:hover
使悬停的项目具有红色边框,并且都是 4 种尺寸
.item:hover +.item
抓取列表中的下一个项目并去掉它的左边框,因为它左边的项目现在在那里有一个红色边框。
你可以在这里试试:http: //jsfiddle.net/hCK3D/
编辑:这个应该可以解决问题!http://jsfiddle.net/hCK3D/7/