这是一个 CSS / 设计问题。我有三个文本框,我想在网页上居中对齐。然后我想要每个右侧的标签描述。
当我使用 text:align:centre 之类的属性时,因为标签的长度不同,它会抛出文本框的对齐方式 [参见下面的图片链接]
http://www.mediafire.com/imageview.php?quickkey=qcyoajm2iuk
有没有一种简单的方法可以保持文本框对齐,然后在不更改文本框的情况下将标签移到右侧?
谢谢。
这是一个 CSS / 设计问题。我有三个文本框,我想在网页上居中对齐。然后我想要每个右侧的标签描述。
当我使用 text:align:centre 之类的属性时,因为标签的长度不同,它会抛出文本框的对齐方式 [参见下面的图片链接]
http://www.mediafire.com/imageview.php?quickkey=qcyoajm2iuk
有没有一种简单的方法可以保持文本框对齐,然后在不更改文本框的情况下将标签移到右侧?
谢谢。
基本上你必须为你的表单和float: left输入和float: right标签定义一个宽度,这样标签就在你的输入旁边。这是在 CSS 中将相对 possitionet 元素居中的技巧:margin: 0 auto但您必须定义宽度。
您将遇到的问题是您的所有输入都将彼此相邻。为了防止您将标签和输入嵌套在元素中。并清除浮动。我会使用 UL LI 元素而不是段落(如在 PW 示例中),因为大多数时候,您的表单是问题列表。
我为你做了一个例子:http: //jsfiddle.net/Qs4pk/2/
将<fieldset>标签与<label>. 一步一步的解释。
然后随意对齐。
在您的屏幕截图中,您有 text-align:centered div 内的每个元素。因此,您会看到当前方法的正确行为。
相反,您需要将 div (文本框和标签元素的包围框)居中,然后将内部元素左对齐(这将是浏览器的默认设置)。
要使 div 居中,请使用:
#content {
宽度:700 像素;左边距:自动;边距右:自动;}
你的问题也有一个设计方面。从用户的角度来看,标签和输入文本框的最佳对齐方式是什么?几个月前,当我在 MIX09 发现“Web 表单设计”时,我感到非常惊讶(参见http://videos.visitmix.com/MIX09/C17F)。如果一个地方标签和输入文本框在其他地方,您将看到如何改善用户体验的示例。这个视频只是改变了我在这个领域的想法。您还可以查看http://www.lukew.com/presos/和“Web 表单中提示和验证的最佳实践” http://sixrevisions.com/user-interface/best-practices-for-hints-and -validation-in-web-forms/其中一些有密切的信息。
http://reisio.com/temp/form2.html
<!doctype html>
<html>
<头部>
<标题></标题>
<风格>
身体 {
边距:8px;
填充:0;
}
形式 {
边距:0;
}
ul {
列表样式:无;
边距:0;
填充:0;
字体:12px 无衬线;
显示:块!重要;
显示:内联块;
溢出:隐藏;
}
李{
向左飘浮;
清除:左;
}
标签 {
显示:块;
宽度:200px;
高度:19px;
行高:19px;
位置:相对;
边距:0 0 5px;
光标:指针;
文本对齐:右;
}
输入 {
宽度:120px;
位置:绝对;
左:0;
顶部:0;
边框:1px 纯灰色;
填充:1px 0;
高度:15px;
字体:12px 无衬线;
}
</style>
</head>
<正文>
<form action="">
<ul>
<li>
<label><input> 豆子</label>
</li>
<li>
<label><input> 玉米面包</label>
</li>
</ul>
</form>
</正文>
</html>