考虑一个代码:
<div style="width: 10em; float: left; padding: 0; margin: 0">
<input type="text" style="width: 10em"/>
</div>
事实上,文本字段并没有像预期的那样占据整个父 DIV。为什么?提前感谢您的回答。
答案是字体大小。
em 是“相对于当前字体大小的大小”的度量。
由于输入元素的默认字体大小小于 div(由于浏览器默认设置),因此 10em 等同于不同的宽度。
您可以使用 '%' 单位轻松解决此问题:
<input type="text" style="width:100%"/>
尝试使用 100% 宽度而不是em
宽度:
<div style="width: 10em; float: left; padding: 0; margin: 0">
<input type="text" style="width: 100%"/>
</div>
请注意,文本字段仍将具有填充和边框 - 因此 100% 的宽度将溢出包含的 div。
<!DOCTYPE html>
<html>
<head>
<title> problem </title>
</head>
<body>
<div style="width: 10em; float: left; padding: 0; margin: 0;background-color:red;">
<input type="text" style="width: 100%; padding:0; margin:0"/>
</div>
</body>
</html>