我有以下代码:
<!DOCTYPE html>
<html>
<head>
<style>
.tl, .tr, .bl, .br, .b, .t {
background: #f00;
width: 16px;
height: 16px;
}
.m {
background: url('https://www.google.com/images/logos/ssl_logo_lg.gif') #0f0;
}
table {
width: 512px;
height: 512px;
border-spacing: 0px;
border-collapse: collapse;
table-layout: fixed;
}
</style>
</head>
<body>
<table>
<tr>
<td class="tl"> </td>
<td class="t"> </td>
<td class="tr"> </td>
</tr>
<tr>
<td> </td>
<td class="m">test</td>
<td> </td>
</tr>
<tr>
<td class="bl"> </td>
<td class="b"> </td>
<td class="br"> </td>
</tr>
</table>
</body>
</html>
只要我不用IE7查看它就可以正常工作。 IE7由于某种原因不尊重我的宽度和高度设置为16px,而是使所有行和列采用平均大小。奇怪的是,这在Quirks模式下工作,但现在在标准模式下,有什么用呢?
P.S。有没有其他方法可以实现类似的布局,其中16x16角,16px顶部和底部,而中间适合?
答案 0 :(得分:2)
为height:100%;
.m
答案 1 :(得分:1)
尝试给每个单元格一些内容:
<td class="tl"> </td>
应该修复它。
答案 2 :(得分:1)
border-spacing
和border-collapse
。尝试使用
<table cellspacing="0" cellpadding="0">
更新:
我这里没有IE7或IE6,所以这只是猜测:尝试将.m的宽度和高度设置为自动。如果这不起作用(因为那太容易了,对吗?:)),你可以手动将尺寸设置为480px(512 - 2 * 16)
答案 3 :(得分:0)
试试这个:
<style>
table {
width: 512px;
border-spacing: 0px;
border-collapse: collapse;
table-layout: fixed;
}
table .m
{
background: url('https://www.google.com/images/logos/ssl_logo_lg.gif') #0f0;
height: 512px;
}
.tl, .tr, .bl, .br, .b, .t {
background: #f00;
width: 16px;
height: 16px;
}
</style>