【发布时间】:2016-03-02 20:39:34
【问题描述】:
我在<button> 中有一个<img>。该按钮有一个边框。图像被缩放到 100% 高度,按钮的宽度由计算的图像宽度决定。到目前为止一切顺利,只要按钮上没有边框,它就可以工作。如果我添加边框,Firefox 将缩小图像但不会调整到新的图像宽度。它只会增加额外的空间。 Chrome 和 Safari 正在按预期执行此操作 - 或者至少按照我的预期。
如何让 Firefox 表现相同?
图
你可以看到我试图去除的额外绿色区域。
HTML
<div class="wrapper">
<button>
<img src="//placehold.it/160x90">
</button>
</div>
CSS
.wrapper {
height: 100px;
}
button {
height: 100%;
padding: 0;
background: green;
border: 0;
border: 3px solid tomato;
cursor: pointer;
}
button::-moz-focus-inner {
padding: 0;
border: 0;
}
button img {
height: 100%;
width: auto;
}
小提琴
【问题讨论】:
-
有什么理由不使用
<input type="image" src="/image.png" />而不是用按钮包裹图片? -
@Aaron 我认为我在语义方面有所收获,因为按钮应该是可点击的 GUI 元素,而不是实际的输入元素或更具体的“图形提交按钮”。