你应该使用+CSS中的相邻选择器()来实现这一点.看看,有四个项目:
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
Run Code Online (Sandbox Code Playgroud)
这是你的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;
}
Run Code Online (Sandbox Code Playgroud)
.item只是每设立一个项目正常进行.它是正确的border0.
.item:last-child 使得最后一个在右边有一个钻孔器,因为它是最后一个并且旁边没有div来模拟边界.
.item:hover 使悬停的项目有一个红色边框,这是所有4种尺寸
.item:hover +.item 抓取列表中的下一个项目并删除其左边框,因为它左边的项目现在有一个红色边框.
你可以在这里试试:http://jsfiddle.net/hCK3D/
编辑:这个应该做的伎俩!http://jsfiddle.net/hCK3D/7/
通过使用负边距(与边框相同的尺寸)和所选div的单个z-index的组合,您可以实现所需的布局.

<style>
.box {
width: 50px;
height: 50px;
float: left;
border: 5px solid black;
margin-left: -5px;
}
.selected {
position: relative;
width: 50px;
height: 50px;
border: 5px solid red;
z-index: 20;
}
</style>
<div>
<div class="box"></div>
<div class="box selected"></div>
<div class="box"></div>
<div class="box"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
从IE7以上的所有主流浏览器中,上述方法应该是可靠的...我应该想象它也应该适用于IE6但是我没有它可以用来测试.
| 归档时间: |
|
| 查看次数: |
6257 次 |
| 最近记录: |