如何布局形式像这样用CSS也许有些JS?

问题描述:

我有一个内嵌有形式的标签,文本字段左侧的设计。标签都是不同的宽度。我需要将右侧的文本字段右对齐。如何布局形式像这样用CSS也许有些JS?

目前该领域的这个样子。看看右边如何不对齐?

名称:_ __ _ __ _ __ _ ___

地址:_ __ _ __ _ __ _ ___

市:_ __ _ __ _ __ _ ___

我需要它看起来像这样...

名称:_ __ _ __ _ __ _ __ _ __

地址:_ __ _ __ _ __ _ ___

市:_ __ _ __ _ __ _ __ _ ____

我能做到这一点,而无需设置在每一文本字段固定的宽度?

+1

你可以把它们放在一个容器中,并设置宽度100%。 – Sturm 2012-07-16 17:24:23

+3

你可以发布你现在的代码吗?这对任何试图给出高质量答案的人都会有所帮助。 – 2012-07-16 17:25:21

授予它可能不是最有效的方法,但你可以做一个单独的表中的每个领域。

HTML

<table> 
    <tr> 
     <th>Name:</th> 
     <td><input type="text"></td> 
    </tr> 
</table> 

<table> 
    <tr> 
     <th>Address:</th> 
     <td><input type="text"></td> 
    </tr> 
</table> 

<table> 
    <tr> 
     <th>City:</th> 
     <td><input type="text"></td> 
    </tr> 
</table> 

CSS

table { width: 300px; } 
td { border-bottom: 1px solid black; } 
th { width: 1em; } 

input { width: 100%; border: none; } 
input:focus { outline: none; } 

JS小提琴:http://jsfiddle.net/BUy6f/2/

+0

看起来像这样会工作。谢谢! – Dustin 2012-07-16 18:41:33

您可以使用无边界表,例如:Exemple

+0

文本框的左边缘不应该对齐,而是从文本之后开始。 – 2012-07-16 17:32:39

+0

我以为他在谈论“输入文本”,正如他在示例中所展示的那样。 – 2012-07-16 17:37:21

+0

在这个例子中,输入文本不是从相同的垂直(x)点开始,它们只能以相同的方式结束。 – 2012-07-16 17:39:16