Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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_Position_Padding_Absolute - Fatal编程技术网

填充html输入更改绝对位置

填充html输入更改绝对位置,html,css,position,padding,absolute,Html,Css,Position,Padding,Absolute,我有一些绝对定位的文本输入元素,我想给它们一些左右填充,因为这样可以更容易地将光标放在值的末尾进行编辑。当我输入左和/或右填充时,文本框变得太长。为什么会这样?如何同时获得准确的定位和填充 html 演示:您需要查看盒子大小 box-sizing:border-box; 一些元素的宽度计算为宽度+边框宽度+填充宽度,其他元素包括总宽度内的填充 请注意,这也可能是特定于浏览器的,因此规格化样式表也可能有所帮助 Fiddle:宽度更改是因为您在内联样式中指定了一个宽度(29%,我认为这是一种尝试

我有一些绝对定位的文本输入元素,我想给它们一些左右填充,因为这样可以更容易地将光标放在值的末尾进行编辑。当我输入左和/或右填充时,文本框变得太长。为什么会这样?如何同时获得准确的定位和填充

html


演示:

您需要查看盒子大小

box-sizing:border-box;
一些元素的宽度计算为宽度+边框宽度+填充宽度,其他元素包括总宽度内的填充

请注意,这也可能是特定于浏览器的,因此规格化样式表也可能有所帮助


Fiddle:

宽度更改是因为您在内联样式中指定了一个宽度(29%,我认为这是一种尝试,使所有三个输入占用1/3的宽度(包括其填充),但输入的宽度是“可写空间”的宽度。因此,添加填充(即文本和边框之间的空格)将增加宽度

如前所述,混合百分比和像素大小通常是一个糟糕的想法

但是,如果你只需要有你的4倍左右的填充,然后添加

-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box;    /* Firefox, other Gecko */
box-sizing: border-box;   /* Opera/IE 8+ */
到您的输入css


这里有一把小提琴展示了它的作用:

你是否绝对肯定你需要绝对位置?既然宽度是固定的,难怪任何填充都会增加div的宽度。另外,你混合了百分比和像素,因此你在自找麻烦。为什么不使用Bootstrap网格系统?我需要绝对位置,因为输入覆盖了背景图像,并且具有我无法控制的任意位置。样式是内联的,因为它们是用JavaScript计算和应用的。我可以用百分比查看填充,但是窄文本框和宽文本框需要有相同的填充。盒子大小规则正是我所需要的。
box-sizing:border-box;
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box;    /* Firefox, other Gecko */
box-sizing: border-box;   /* Opera/IE 8+ */