【发布时间】:2009-10-12 14:36:55
【问题描述】:
有人要求我垂直对齐表单中字段标签中的文本,但我不明白为什么它们没有移动。我尝试使用vertical-align:top; 和其他属性(如bottom 和middle)放置内联样式,但它不起作用。
有什么想法吗?
<dd>
<label class="<?=$email_confirm_class;?>"
style="text-align:right; padding-right:3px">Confirm Email</label>
<input class="text" type="text"
style="border:none;" name="email_confirm"
id="email_confirm" size="18" value="<?=$_POST['email_confirm'];?>"
tabindex="4" />
*
</dd>
【问题讨论】:
-
像往常一样 CSS 问题:10 个错误答案和一个通用解决方案(在这种情况下显示表格、表格单元格和垂直对齐中间)。为什么 CSS 仍然是它一直以来的脆弱的老鼠窝?主要是因为很难消除原始“规范”中大量糟糕的决策(我松散地使用了这个词)。这绝对应该是标签上的一个简单属性,就像将文本放在左侧而不是右侧一样。为什么不是这样?非常糟糕的实施决策。
-
@RickO'Shea 我完全同意。也许这是我的背景,但我来自 WPF/Silverlight/WinForms,在那里我大部分时间都在编写有用的代码。使用 CSS 时,我花了很多时间试图让网络应用程序的布局正确,我什至没有尝试为多种设备尺寸进行开发!