【发布时间】:2020-08-22 13:49:51
【问题描述】:
我正在尝试解决一个让我和我的同事头痛欲裂的问题。尽管我们每个人都获得了止痛药,但我们仍然对 Google Chrome 在具有font-size 或10pt 的容器中呈现复选框的方式感到困惑。
问题
Google Chrome 似乎在复选框元素周围呈现了一些我似乎无法摆脱的额外空间。复选框及其父元素必须为15 像素高。将父元素的 font-size 设置为 10pt 会导致该父元素的高度为 16 像素。
一个例子
看看下面的sn-p。
我还没有弄清楚(或理解)是什么原因导致复选框元素呈现为 15 像素高但有效地使其父元素变为 16 像素高。
td,
th
{
padding: 0;
font-size: 10pt;
}
input[type=checkbox]
{
height: 15px;
border: none;
padding: 0;
margin: 0;
}
<table width="100%" class="data">
<tr>
<th>Label 1</th>
<td>Value 1</td>
</tr>
<tr>
<th>Checkbox 2</th>
<td><input type="checkbox" disabled="disabled" /></td>
</tr>
<tr>
<th>Label 3</th>
<td><input type="checkbox" disabled="disabled" checked="checked" /></td>
</tr>
</table>
将表格换成div、p 或任何其他容器也会导致该容器的高度不正确。
可能的解决方案?
将复选框高度设置为 14px 会使父行 15 像素高。但是复选框本身不符合设计者的要求,因此该解决方案不会被接受。有什么解决方法吗?
【问题讨论】:
-
将
display复选框类型更改为block? -
其实
input有一个默认的font属性。如果将font-family: sans-serif添加到td,似乎可以纠正差异。 -
致因“不清楚你在问什么”而要求关闭帖子的人:我的问题到底有什么不清楚的地方?如果你愿意参与对话,我可以改进我的帖子。
标签: css google-chrome checkbox