Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 输入类型的宽度=文本元素_Html_Css_Input_Width - Fatal编程技术网

Html 输入类型的宽度=文本元素

Html 输入类型的宽度=文本元素,html,css,input,width,Html,Css,Input,Width,为什么我会这样做: <input type="text" style="width: 10px; padding: 2px"/> <div style="width: 10px; border: solid 1px black; padding: 2px">&nbsp;</div> 输入端比IE6和FF3中的div宽2 px?我错过了什么 编辑: 正如许多人所说,边界是个问题。如果我在输入上设置border:0px,它将具有与具有0px边框的di

为什么我会这样做:

<input type="text" style="width: 10px; padding: 2px"/>
<div style="width: 10px; border: solid 1px black; padding: 2px">&nbsp;</div>

输入端比IE6和FF3中的div宽2 px?我错过了什么

编辑: 正如许多人所说,边界是个问题。如果我在输入上设置border:0px,它将具有与具有0px边框的div相同的宽度(通过将其包装在带边框的范围内进行验证)


然而,当我测量油漆中的元素时,div的内部有14像素,正如预期的那样(10+2+2)。然而,输入有一个16像素的内部,然后是外部的边界。为什么会这样?可能不是一个bug,因为它发生在IE6和FF3中,但我不理解。

元素的可见宽度是
width+padding+border+outline
,因此您似乎忘记了输入元素上的边框。也就是说,在大多数(某些?)浏览器上,输入元素的默认边框宽度实际上计算为2px,而不是1。因此,您的输入显示为2倍宽。尝试在输入端显式设置
边框宽度,或将div加宽。

输入宽度是边框宽度的10+2倍1 px

我认为您忘记了边框。在Div上有一个像素宽的边框将去掉两个像素的总长度。因此,div看起来比实际短两个像素。

我相信这正是浏览器呈现标准输入的方式。如果在输入上设置边框:

<input type="text" style="width: 10px; padding: 2px; border: 1px solid black"/>
<div style="width: 10px; border: solid 1px black; padding: 2px"> </div>


那么两者的宽度相同,至少在FF中是这样。

否!宽度+边框=实际宽度!所以输入元素看起来更大了。你说大纲是指边距,还是大纲是我从未听说过的新概念?在这里阅读大纲:它说它不计入框的宽度,这是真的,但它确实改变了可见宽度。谢谢。看起来它实际上是一个2px边框,但在视觉上看起来就像1px。