我现在有这个设置。我希望这样当您将鼠标悬停在一个框上时,底部边框会变为与悬停的 div 内部相同的颜色。我开始认为仅使用 css 无法做到这一点,但是您将如何添加 javascript 来做到这一点?
任何指导将不胜感激
我现在有这个设置。我希望这样当您将鼠标悬停在一个框上时,底部边框会变为与悬停的 div 内部相同的颜色。我开始认为仅使用 css 无法做到这一点,但是您将如何添加 javascript 来做到这一点?
任何指导将不胜感激
为什么不直接删除悬停时的底部边框,而是让元素的高度增加 1px?(您不需要添加任何 JavaScript 代码)
像这样:http: //jsfiddle.net/hCK3D/17/
更新:现在边界也没有中断..
更新的CSS:
.item-container {
float:left;
margin-top:20px;
border-bottom: 1px #BCC0C3 solid;
height:100px;
}
.item {
float:left;
background: #ccc;
width: 100px;
height: 100px;
border-left: 1px #fff solid;
border-top: 1px #BCC0C3 solid;
border-bottom: 1px #BCC0C3 solid;
box-sizing: border-box;
}
.item:first-child {
border-left: 1px #BCC0C3 solid;
}
.item:last-child {
border-right: 1px #BCC0C3 solid;
}
.item:hover {
background:#ECEFF4;
border-left:1px #BDC0C5 solid;
border-right:1px #BDC0C5 solid;
border-bottom: 0;
height:101px;
}
.item:hover + .item {
border-left-width: 0;
}
你的意思是这样吗?
.body{background:#ECEFF4;}
.item-container {
float:left;
border-top: 1px solid #BCC0C3;
margin-top:20px;
}
.item {
float:left;
background: #ccc;
width: 100px;
height: 100px;
border-left: 1px solid #fff ;
border-bottom: 1px solid #BCC0C3;
}
.item:first-child {border-left: 1px solid #BCC0C3;}
.item:last-child {border-right: 1px solid #BCC0C3;}
.item:hover {
background:#ECEFF4;
border-left:1px solid #BDC0C5;
border-right:1px solid #BDC0C5;
border-bottom: 1px solid #ECEFF4;
}
.item:hover + .item {border-left-width: 0;}
与发布的其他答案不同,此解决方案将允许您将边框线保持在底部:http: //jsfiddle.net/hCK3D/15/ 并且您的白色垂直线将继续正确显示。
这个想法是从底部开始的边框现在设置在项目中,当项目悬停时,底部边框会改变颜色以匹配悬停颜色。容器边框也是为白色垂直线而设置的,但在悬停时,项目悬停边框底部出现在容器边框的前面。