这是一个 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>