我在學習HTML和CSS並通過創建一個帶有三個輸入控件(兩個文本和一個按鈕)的登錄頁面來使用舊式方法。但是,我正在使用<table></table>
來解決文本框的對齊問題。但是我讀過一些使用表格並不被認爲是好的方法。這是我在做什麼:在html和css中不使用表格的文本對齊方式
的Home.html
<div>
<table>
<thead>
<tr><th><span>Login Page</span></th></tr>
</thead>
<tbody>
<tr>
<th><label>Username:</label></th>
<td><input type="text" value="" /></td>
</tr>
<tr>
<th><label>Password:</label></th>
<td><input type="text" value="" /></td>
</tr>
<tr>
<td><input type="button" value="Submit" /></td>
</tr>
</tbody>
</table>
</div>
不過,我使用CSS的一些初級東西對齊輸入控件,而無需使用表,這就是我米嘗試:
的Home.html
<div class="box">
<span>Login Page</span>
<br />
<span>
<label>Username:</label>
<input type="text" value="" />
<br />
<label>Password:</label>
<input type="text" value="" />
<br />
<input type="button" value="Submit" />
</span>
</div>
的style.css
.box {
margin: 10px 10px 10px 10px;
border: dotted 2px #fff;
width: 500px;
}
.box span:first-child {
border: dotted 1px;
margin-left: 30%;
font-family: Arial, sans-serif;
width: 50%;
}
.box span label:nth-of-type(odd)
{
color:blue;
font-family: Arial, sans-serif;
}
.box span label:nth-of-type(even)
{
color: red;
font-family: Arial, sans-serif;
display: inline-block;
}
我擔心的是使用CSS,我能夠對齊輸入控件,但我不得不使用多個休息標籤(<br />
),還額外的代碼比對其中通過簡單地使用<table>
標籤更容易。有人可以向我建議標準方法嗎?或者我是否在正確的道路上?
如果你想空間,在同一條線上,使用保證金或填充。如果你想分開行,請使用display block – Keith
閱讀https://www.w3schools.com/css/css_boxmodel.asp以獲取更多關於邊距和/或填充的信息。 –
首先爲一個結構良好的問題和乾淨的縮進+1。它使你的代碼示例非常易讀。表格不是用於佈置html頁面的好方法,但是它們作爲表單的一個選項很好。其他的選擇是使用一個無序列表'ul',列表項目'li'包含表單元素或者使用一個''div''來存放表單元素。 – cezar