2013-05-02 33 views
1

我有一个关于使用html/CSS的基本CSS/html问题。我认为这是相当基本和显而易见的,但它不能按预期工作。对齐html中的​​旁边的复选框

http://puu.sh/2LuHq.png

在这个基本的形象,我想上的标签,是专业的右

(创建一个注册页面,用户可以选择自己的专业知识)

我会相信这基本上是

<tr> 

<td>Expertise</td> 
    <input type="checkbox" style="vertical-align: left; margin: 12px;"> Label </input><br>    
    <input type="checkbox" style="vertical-align: left; margin: 12px;"> Label 2 </input> 

</tr> 

但是,这是不按预期工作。

+0

为什么不能在td结束前放两个复选框 – Afsar 2013-05-02 18:21:13

+0

只需切换它们。 [实施例](http://jsfiddle.net/GxkFS/)。 – Vucko 2013-05-02 18:21:32

回答

5

所有标记首先是无效的,table元素只能有这都是为了table作为其子元素,即tbody, thead, th, tr, td等元素,并没有其他的元素,而不是你可以把里面td

其次输入这些复选框标签没有任何明确的结束标记,则需要自行关闭它,否则离开它,但不关闭就像<br>

三 - 使用label标签,而不必流浪文本之外复选框

Demo

正确的方法

<table> 
    <tr> 
    <td class="valign"> 
     Expertise 
    </td> 
    <td> 
     <input type="checkbox" style="vertical-align: left; margin: 12px;" /> 
     <label>Label</label><br /> 
     <input type="checkbox" style="vertical-align: left; margin: 12px;" /> 
     <label>Labe2</label> 
    </td> 
    </tr> 
</table> 

CSS

.valign { 
    vertical-align: top; 
} 
+0

是否有任何理由让我的标签像http://puu.sh/2Lvcu.png而不是我想要的那样在jfiddle中运行 – JavaChipMocha 2013-05-02 18:30:44

+0

@JavaChipMocha是的,我会告诉你一个使用它们的好处等待 – 2013-05-02 18:31:22

+0

@JavaChipMocha选择文本和复选框将被自动选择:) http://jsfiddle.net/DawZK/1/也有更好的标签,而不是流浪的文本,标签将显示是的,这个文本属于该特定的复选框 – 2013-05-02 18:32:41

0

既然你已经使用表格,只需将输入标记到另一个td标签是这样的:

<tr> 

<td>Expertise</td> 
<td> 
    <input type="checkbox" style="vertical-align: left; margin: 12px;"> Label </input><br>    
    <input type="checkbox" style="vertical-align: left; margin: 12px;"> Label 2 </input> 
</td> 

</tr> 

这将使复选框出现在“Exp ertise”。