【发布时间】:2012-02-13 16:58:54
【问题描述】:
我挠了很久,终于决定寻求帮助。实际上,我有一个带有两个输入(字段+按钮)的简单表单,我想将按钮放在字段上,同时将表单包装以更正文本字段的宽度+填充。
我正在使用 左边距:-31px 按钮上的宽度设置为 27px。
你可以试试http://jsfiddle.net/UfK6K/ 它出现在
但是当我设置 margin-left: -32px 时,它会破坏布局。 http://jsfiddle.net/UfK6K/1/ 并出现
现在,如果我将按钮的宽度更改为任何图形,并且只要我将 margin-left 保持在负 4px 差异内,它就可以工作,但是当它像 -32px 的情况一样增加时,它就会中断。
我想了解 4px 的差异从何而来? 当然,我如何才能将按钮多移到文本字段的左侧?
*它在除 Opera 之外的所有浏览器中都会中断。
【问题讨论】:
-
也没有进入 FF 10 ;) 我在这些小提琴中分离了 CSS 和 HTML:jsfiddle.net/UfK6K/2 和 jsfiddle.net/UfK6K/3
-
@Czechnology 令人惊讶的是它起作用了,但让我感到困惑,因为这里定义了 w3schools.com/cssref/pr_class_position.asp 那个位置:绝对;相对于其第一个定位(非静态)祖先元素的位置。虽然我没有定义任何非静态元素.. 虽然 position:relative 似乎更相关,因为我想相对于它的正常位置定位但它在表单上留下了空间。 jsfiddle.net/UfK6K/5
-
@ShawnTaylor,这是正确的,但仅如果您使用任何实际定位。如果你不设置任何
left、right等,该元素只是从“文档流”中取出(不知道如何调用它),所以不会导致这些分解问题。跨度>