我知道这篇文章相当老,但这是一个常见的问题,没有人发布任何好的答案...
以下HTML代码看起来不错。但是,当我添加的doctype,问题出现
div.field_container
{
height: 25px;
width: 150px;
border: 1px solid red;
}
div.field_container input
{
height: 100%;
width: 100%;
}
<div class="field_container">
<input type="text" name="" value="" />
</div>
要解决的宽度/高度的问题,您可以添加填充到您的field_container,但会使容器更大。
div.field_container
{
height: 25px;
width: 150px;
padding-bottom: 6px;
padding-right: 4px;
border: 1px solid red;
}
div.field_container input
{
height: 100%;
width: 100%;
}
<div class="field_container">
<input type="text" name="" value="" />
</div>
如果你不能改变容器的宽度,也可以使用下面的技巧,但仍然会增加高度
div.field_container
{
height: 25px;
width: 150px;
padding-bottom: 6px;
border: 1px solid red;
}
div.field_container input
{
height: 100%;
width: 100%;
}
<div class="field_container">
<div style="height: 100%; margin-right:4px"><input type="text" name="" value="" /></div>
</div>
而且什么问题或问题? – 2009-10-27 20:42:29
什么浏览器/版本? – 2009-10-27 20:43:33
好的,所以问题是为什么我的文本框元素延伸出它的父div?我发现它似乎与我的DOCTYPE有关。 我们需要使用 <!DOCTYPE HTML PUBLIC! “ - // W3C // DTD HTML 4.01 // EN” “http://www.w3.org/TR/html4/strict.dtd”> 使用我的帖子中的代码,如果我将它插入HTML页面而不给它一个DOCTYPE,它可以正常工作。因此,为了重现我的问题,您必须使用严格的4.01 DOCTYPE,然后使用开发人员工具检查DIV和TextBox的大小或在DIV上设置边框。 – BrandonS 2009-10-27 21:22:32