html - 表格单元格溢出尽管框大小:border-box
问题描述
我想为表格的单元格添加填充,但这会导致表格内的文本、输入等溢出。从其他 Stack Overflow 讨论中,我收集到答案是 set box-sizing: border-box
,但这对我不起作用。
下面是一个最小的例子来说明这个问题。
* {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
table,
th,
td {
border: 1px solid black;
padding: 1.5%;
}
table {
border-collapse: collapse;
}
<table>
<tr>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit</td>
<td><input value=1></td>
</tr>
</table>
填充为 1.5% 时,输入框伸出其单元格的右端。如果将 padding 更改为 0,则输入框非常适合。我想保留填充但使输入框适合。
解决方案
设置输入的宽度,使其填充表格单元格
input{
max-width: 100%;
}
* {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
table,
th,
td {
border: 1px solid black;
padding: 1.5%;
}
table {
border-collapse: collapse;
}
input {
max-width: 100%;
}
<!DOCTYPE html>
<table>
<tr>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit</td>
<td><input value=1></td>
</tr>
</table>
编辑:感谢@javier Rey 的更正
推荐阅读
- git - web3 + git 冲突
- r - 如何在 R 中逐行列出大型数据框?
- build - 无效的 VSTS 签入状态
- javascript - JavaScript 方括号作为变量值
- google-cloud-platform - 更新谷歌云中的默认计算服务帐户权限?
- javascript - 动态插入脚本标签?
- linux - 从两个方向遍历文件列表
- javascript - 使用 Javascript 的 CSS 剪辑路径动画
- python - interpolate.griddata 只使用一个核心
- android - React-native:图像未显示在 android 设备中;但在模拟器中显示