我有这个设置:
<div class="outer" id="elem1">Lorem ipsum dolor sit amet</div>
.outer {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#elem1{
position:absolute;
top:0px;
left:0px;
background:#ccc;
color:white;
padding:5px;
}
.chover{
border: 1px solid red;
}
正如您在悬停时看到的,元素大小会扩大,我正在努力防止这种情况发生:
最佳答案
可以给.outer
添加透明边框
.outer {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid transparent;
}
然后将替换为相同宽度的红色边框。
尽管不用 jQuery 也可以实现:
.outer {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid transparent;
}
#elem1 {
position:absolute;
top:0px;
left:0px;
background:#ccc;
color:white;
padding:5px;
}
.outer:hover {
border: 1px solid red;
}
关于css - 在悬停时添加边框会扩展元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24171998/