Asp.net 如何将网页上的文本框与标签正确对齐
这是一个CSS/设计问题。我有三个文本框,我想在网页上居中对齐。然后我想在每个标签的右边都有一个标签描述 当我使用像text:align:center这样的属性时,因为标签的长度不同,它会抛出文本框的对齐[参见下面的图片链接] 有没有一种简单的方法可以保持文本框对齐,然后在不更改文本框的情况下将标签向右移动 谢谢。将Asp.net 如何将网页上的文本框与标签正确对齐,asp.net,css,styling,alignment,Asp.net,Css,Styling,Alignment,这是一个CSS/设计问题。我有三个文本框,我想在网页上居中对齐。然后我想在每个标签的右边都有一个标签描述 当我使用像text:align:center这样的属性时,因为标签的长度不同,它会抛出文本框的对齐[参见下面的图片链接] 有没有一种简单的方法可以保持文本框对齐,然后在不更改文本框的情况下将标签向右移动 谢谢。将标记与结合使用 然后随意对齐。在屏幕截图中,文本对齐:将每个元素居中放置在div中。因此,您可以看到当前方法的正确行为 相反,您需要将一个div(文本框和标签元素的包围框)居中,然
标记与
结合使用然后随意对齐。在屏幕截图中,文本对齐:将每个元素居中放置在div中。因此,您可以看到当前方法的正确行为 相反,您需要将一个div(文本框和标签元素的包围框)居中,然后将内部元素左对齐(这将是浏览器的默认设置) 要使分区居中,请使用:
#content {
宽度:700px;
左边距:自动;
右边距:自动;
}基本上,您必须为表单定义一个宽度,
float:left
输入和float:right
标签,以便标签紧靠您的输入。这是一个在CSS中居中相对possionet元素的技巧:margin:0auto
,但必须定义宽度
你会遇到的问题是,你所有的输入都会挨在一起。为了防止在元素中嵌套标签和输入。清理浮标。我会使用ulli元素,而不是段落(如PW示例),因为大多数时候,您的表单是一个问题列表
我已经为你们做了一个例子:
身体{
利润率:8px;
填充:0;
}
形式{
保证金:0;
}
保险商实验室{
列表样式:无;
保证金:0;
填充:0;
字体:12px无衬线;
显示:块!重要;
显示:内联块;
溢出:隐藏;
}
李{
浮动:左;
清除:左;
}
标签{
显示:块;
宽度:200px;
高度:19px;
线高:19px;
位置:相对位置;
利润率:0.05倍;
光标:指针;
文本对齐:右对齐;
}
输入{
宽度:120px;
位置:绝对位置;
左:0;
排名:0;
边框:1px纯色灰色;
填充:1px0;
高度:15px;
字体:12px无衬线;
}
- 豆
- 玉米面包
你的问题还有一个设计方面从用户的角度来看,标签和输入文本框的最佳对齐方式是什么?几个月前,当我在MIX09上发现“Web表单设计”时,我感到非常惊讶。您将在示例中看到,如果一个地方在其他地方添加标签和输入文本框,如何改善用户体验。这段视频改变了我在这方面的想法。您还可以查看和“Web表单中提示和验证的最佳实践”,其中一些有详细信息 <!doctype html> <html> <head> <title></title> <style> body { margin: 8px; padding: 0; } form { margin: 0; } ul { list-style: none; margin: 0; padding: 0; font: 12px sans-serif; display: block !important; display: inline-block; overflow: hidden; } li { float: left; clear: left; } label { display: block; width: 200px; height: 19px; line-height: 19px; position: relative; margin: 0 0 5px; cursor: pointer; text-align: right; } input { width: 120px; position: absolute; left: 0; top: 0; border: 1px solid gray; padding: 1px 0; height: 15px; font: 12px sans-serif; } </style> </head> <body> <form action=""> <ul> <li> <label><input> Beans</label> </li> <li> <label><input> Cornbread</label> </li> </ul> </form> </body> </html>