【发布时间】:2010-08-27 00:38:40
【问题描述】:
大约一年前,有人在 stackoverflow 上问了一个关于如何水平对齐 input 和 textarea 元素的问题:input width vs textarea width
我有一些 HTML + CSS,我正试图准确地做到这一点,但我发现无论我使用什么 CSS 重置和精确的、基于像素的宽度定义的组合,我都无法在我的页面在右侧对齐(自动发生左对齐)。这是一些简单的演示代码。
<!doctype html>
<html>
<head>
<style type="text/css">
* {margin: 0; padding: 0;} /* primitive reset */
body {width: 200px; margin-left:auto; margin-right: auto;
border: 1px solid black;}
input {border: 1px solid black; width: 200px;}
div {border: 1px solid black;}
textarea {border: 1px solid black; width: 200px;
}
</style>
</head>
<body>
<input type="text" value="textinput">
<div>div</div>
<textarea>textarea</textarea>
</body>
</html>
如果我更改 input 和 textarea 的宽度,我可以让它们在 chrome 中对齐。但是他们不会在 Firefox 中排队。反之亦然。默认情况下,即使重置 css,一个元素或另一个元素也会与右侧的包含 div 重叠。如果需要,您可以删除我设置的边框并使用浏览器各自的 DOM 检查器。
我花了太多时间来解决这个问题,所以我想知道这里是否有人知道我正在尝试做的事情是否可行。
【问题讨论】:
-
太令人沮丧了!当元素位于 div 内并且它们与容器的右侧重叠时,这尤其糟糕。