【发布时间】:2012-01-25 19:53:06
【问题描述】:
简单地说,问题是这样的:
如果第一个表单元素使用 90% 的页面宽度,为什么使用 35% 和 55% 的第二行元素不使用相同数量的页面宽度?
我发现我必须根据元素/页面组成通过不同的数量调整 %。
更令人困惑的是,随着浏览器宽度的变化(变窄),列最终会对齐并变小,但问题变得相反,第一行比第二行窄。
我尝试搜索,但我的问题与希望其表单元素位于右侧的人混淆了。因此,轮到我提出一个糟糕的 SO 问题了。 :) 我只是希望我的表单元素整洁,每个元素的右侧边缘与其他元素保持一致。
一个简单的例子如下:
<html>
<head>
<title>Form</title>
<style text="text/css">
<!--
html, body {
margin:0; padding:0;
}
form {
display: block;
}
.inputField {
width: 90%;
}
.labelField {
width: 35%;
}
#secondField {
width: 55%;
}
-->
</style>
</head>
<body>
<form>
<legend>This is the form</legend>
<input class="inputField" id="firstField" type="tel" name="cardNo" /><br />
<label class="labelField" for="secondField">Please enter your name:</label>
<input class="inputField" id="secondField" type="tel" name="cv2" /><br />
<input class="inputSubmit" id="submit" type="submit" /><br />
</form>
</body>
</html>
我尝试过使用 dl/dt/dd 和可怕的 table/tr/td 甚至 ul/li 类型的表格。所有人都遇到类似的问题。一些浏览器,例如firefox,只是稍微有些出局,但chrome和iOS很好地突出了这个问题。理想情况下,专门适用于 android 和 ios 浏览器的解决方案会很好。
我正在处理的实际表单具有以下布局:
Select Input
Text Input
Select Input | Select Input
Label | Text Input
Submit | Label | Checkbox
【问题讨论】:
标签: html css forms browser alignment