我无法使其正常工作。当用户使用鼠标时,如何在不调整图像大小的情况下进行此操作?
HTML:
<div id="highlight" class="outerbox">
<div id="boxTitle">
Highlight
</div>
<img src="http://lookouch.com/www/assets/newImages/home/modulos/1.jpg"/>
</div>
CSS:
#boxTitle {
color: #ffffff;
background-color: #6000ff;
padding: 5px 5px 5px 5px;
position: absolute;
font-family: Montserrat;
font-size: 13px;
display: inline-block;
top: 0;
left: 0;
}
#highlight { width: 100%; display: inline-block; position: relative; }
#highlight img { width: 100%; height: 100%; }
#highlight:hover {
border: 2px solid #6000ff;
box-sizing: border-box;
overflow: hidden;
}
答案 0 :(得分:4)
三件事:
border: 2px solid transparent;
。这将阻止跳跃。vertical-align:top;
添加到#highlight img
以消除图片下的空白。box-sizing: border-box;
移除#highlight:hover
。这里不需要它。<强> jsFiddle example 强>
答案 1 :(得分:0)
在悬停时应用边框会减小div的内部大小,从而导致width: 100%; height: 100%
图像缩小。
在div悬停之前给div一个透明的边框,这样它就不会有任何内部尺寸变化:
#highlight {
border: 2px solid transparent;
box-sizing: border-box;
width: 100%;
display: inline-block;
position: relative;
}
答案 2 :(得分:0)
您可以使用outline
代替border
:jsfiddle
但是有一个缺点:border-radius
不会像outline
一样影响border
。