2016-01-13 581 views
0

我有桌子,我想把我的td的標籤下。這是我的HTML代碼:如何在th和td之間放置換行符?

<table> 
    <tr> 
     <th>Your Email</th> 
     <td> 
      <input type="text" name="userEmail" value="" id="userEmail" required=""> 
     </td> 
    </tr> 
    <tr> 
     <th>Job Category</th> 
     //I need break line here 
     <td> 
      <label><input type="radio" name="rd1" value="Programmer" id="rd1">Programmer</label><br> 
      <label><input type="radio" name="rd2" value="Web Developer" id="rd2">Web Developer</label><br> 
     </td> 
    <tr> 
</table> 

我的輸出爲我提供了<th>標記文本,然後在文本標籤<td>它旁邊。我想有低於th的td內容。我試圖使用<br>標籤,但是看起來像在td標籤之外不起作用。如果有人知道最好的方法來解決這個問題,請讓我知道。使用

<table> 
    <tr> 
     <th scope="row">Your Email</th> 
     <td> 
      <input type="text" name="userEmail" value="" id="userEmail" required=""> 
     </td> 
    </tr> 
    <tr> 
     <th>Job Category</th> 
    </tr>//End row 
     //I need break line here 
    <tr> //start new row 
     <td> 
      <label><input type="radio" name="rd1" value="Programmer" id="rd1">Programmer</label><br> 
      <label><input type="radio" name="rd2" value="Web Developer" id="rd2">Web Developer</label><br> 
     </td> 
    <tr> 
</table> 
+0

你能夠重構你的HTML嗎? – Aaron

+0

你是什麼意思「我的輸出給了我標籤中的文本,然後在​​標籤旁邊顯示了文本。」? – j08691

+0

輸出在同一行上,我想從td下放內容。 –

回答

4

您正在創建一個表,並沒有什麼可以將表外的細胞放在

<table> 
    <tr> 
    <th scope="row">Your Email</th> 
    <td> 
     <input type="text" name="userEmail" value="" id="userEmail" required=""> 
    </td> 
    </tr> 
    <tr> 
    <th colspan="2">Job Category</th> 
    </tr> 
    <tr> 
    //I need break line here 
    <td colspan="2"> 
     <label><input type="radio" name="rd1" value="Programmer" id="rd1">Programmer</label><br> 
     <label><input type="radio" name="rd2" value="Web Developer" id="rd2">Web Developer</label><br> 
    </td> 
    </tr> 
</table> 
+0

所以我有問題,如果我有多個必須以相同方式構建的元素(每個單獨行,每個單獨行都是td)是否正確並且是最佳方式? –

+1

您可以在表格單元中有多個元素(td或th),並且可以在它們之間(
)之間有換行符,但在單元格內而不在它們之間。 – Orden

+0

這幫助我解決了這個問題。謝謝。 –

3

把你的表頭在自己的行。如果你想要在表頭下創建表單元素,只需創建一行標題和一行表單元素:

<table> 
    <tr> 
     <th>Your Email</th> 
     <th>Job Category</th> 
    </tr> 
    <tr> 
     <td> 
      <input type="text" name="userEmail" value="" id="userEmail" required=""> 
     </td> 
     <td> 
      <label><input type="radio" name="rd1" value="Programmer" id="rd1">Programmer</label><br> 
      <label><input type="radio" name="rd2" value="Web Developer" id="rd2">Web Developer</label><br> 
     </td> 
    <tr> 
</table> 
+0

@LGSon,很公平,我更新了它。 – Steve

+1

當在同一行中使用th和td時,還應該在scope上設置scope =「row」,以便屏幕閱讀器知道標題屬於哪個 – LGSon

+1

@LGSon - 謝謝,我很欣賞這些評論。它最終幫助我們所有人 – Steve

1

它們放置在不同的行:

+0

所以我有問題,如果我有多個元素必須以相同的方式構建(每個單獨的行和每個單獨的行中的td)是否正確並且是最佳方式? –

+0

@ user3023588使用Orden的答案/解決方案 – LGSon

+0

@LGSon IT表示每個th和td在單獨的行中,Orden的答案在下一行中具有全部一行所有的td。 https://jsfiddle.net/8b3uvw3b/1/這顯示了差異 – Dhunt

相關問題