我想在悬停时增加边框。然而,它确实会影响所有其他元素的定位。
代码(https://jsfiddle.net/s2m3vtbb/):
.nicePeopleItem {
display:inline-block;
}
.nicePeopleItem img{
border-radius:48px;
border: 4px solid #D568A8;
padding: 2px;
transition-duration:0.3s;
cursor:pointer;
}
.nicePeopleItem img:hover{
border: 10px solid #D568A8;
transition-duration:0.3s;
}Run Code Online (Sandbox Code Playgroud)
<div class="carrousel">
<div class="nicePeopleItem">
<img src="http://placehold.it/48x48">
</div>
<div class="nicePeopleItem">
<img src="http://placehold.it/48x48">
</div>
<div class="nicePeopleItem">
<img src="http://placehold.it/48x48">
</div>
<div class="nicePeopleItem">
<img src="http://placehold.it/48x48">
</div>
</div>Run Code Online (Sandbox Code Playgroud)
我尝试添加一些边距、填充和一些绝对定位,但没有成功。
你可以border用 a替换box-shadow,例如
border: 10px solid #D568A8;
Run Code Online (Sandbox Code Playgroud)
应该成为
box-shadow: 0 0 0 10px #D568A8;
Run Code Online (Sandbox Code Playgroud)
通过只增加这个属性,元素的计算宽度/高度不会改变(因为没有几何变化)所以这不会影响相邻静态图像的位置,这些图像将被box-shadow.
注意:如果您不想在hover状态重叠,只需增加元素之间的边距。