为什么我的文本不在HTML表格中居中?
问题描述:
我想创建一个简单的登录表单。我差不多已经完成了,但桌子上的文字并没有向右移动。我正在使用<span>
。我的HTML代码在这里。为什么我的文本不在HTML表格中居中?
<div id="login-container">
<form action="login.php" method="post" >
<table>
<tbody>
<tr>
<td><span>Username:</span></td>
<td><input type="text" name="username" value="" ></td>
</tr>
<tr>
<td><span>Password</span></td>
<td><input type="password" name="password" value="" ></td>
</tr>
<tr>
<td></td>
<td><input type="checkbox" name="remember" value="off">remember me?</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Login" id="button"></td>
</tr>
</tbody>
</table>
而我的CSS就在这里。当我使用float:right
时,它会向右移动。
span {
color:black;
font-family:"Arial Black", Gadget, sans-serif;
font-weight:bold;
font-size:13px;
text-align:right;
}
答
text-align
属性不适用于内联元素,span
元素默认为内联。最小的问题是增加
span { display: block }
但是,这样的规则是有风险的;你应该使用更严格的选择器,但这取决于页面结构。
而不是span
,label
应该用于可访问性;但这并不会改变基本问题,因为label
也是内联的。
或者,也可以在td
元素上设置样式。
答
text-align
属性不适用于内联元件和span
是内嵌元素。因此,text-align
属性不适用于它。
如果你不想使用float:right;
你可以使用:
td{
text-align:right;
}
PS:这将是更聪明给特定td
的ID,否则所有td
会按照您在下面的演示中看到的方式对齐。
你是什么意思文本不正确? – imbondbaby 2014-08-28 03:32:59
而不是给文本对齐跨度给它td,希望你需要创建td类 – 2014-08-28 03:35:33