html中关于td使用colspan的问题

<tableid="table"border="1"><thead><tr><thcolspan="2">请登录</th></tr></thead><tfoot><tr>... <table id="table" border="1">
<thead>
<tr>
<th colspan="2">请登录</th>
</tr>
</thead>
<tfoot>
<tr><th colspan="2">made by Fenny</th></tr>
</tfoot>
<tbody>
<tr>
<th>用户ID</th><td width="20"><input type="text" name="id" /></td>
</tr>
</tbody>
<tr>
<th>密码</th><td><input type="password" name="password" /></td>
</tr>
</table>
这是一个很简单的表,但是我有两个问题:
1 这个表实现后,在网页上出现的密码输入文本框要比用户id输入文本框的宽度少一点,求解释。(表的单元是一样大小的)
2 如果我把<th colspan="2">made by Fenny</th>改成<td colspan="2">made by Fenny</td>它里面的字就不能居中了,为什么?如何解决?
展开
 我来答
帐号已注销
推荐于2018-04-12 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1634万
展开全部
1、在不同的浏览器中确实会有密码框和文本框宽度不一致的情况,但貌似谷歌以及一些符合标准的浏览器不会出现这种情况。我猜可能是因为密码框的内容会被替换成点或星号,导致字符宽度变化,以至于同样容量的密码框和文本框的宽度不一致。其实高度在某些版本的浏览器中也是有可能不一致的。
这个的解决办法好像只能使用css,给它们一个相同的宽度即可。
2、这个问题很好解释。th的含义是表头,而表头的默认格式是文本居中且粗体显示。td则是单元格,它的默认格式是文本左对齐,且font-weight为normal。所以,你使用th自然能居中,而td在不经任何css修饰的时候是不会居中的。
解决的办法就是使用css。如果你希望整个页面的td都文本居中,你可以在body标签的前面加上如下代码:
td{
text-align:center;
}
而如果你只是希望某一个td文本居中,可以这样:
<td style="text-align:center;">内容</td>

显然你对html以及css都一知半解,希望楼主继续努力了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式