基本上我希望能够创建一个盒子网格,我可以在每个盒子的顶部中间和底部对齐文本,并且当行上另一个框中的文本推动时,同一行上的框会调整大小下来。
如果你看一下这个HTML 4代码,就可以实现我想要的功能,但是想要能够用XHTML 1.0 doctype实现这个目标。
<style type="text/css">
<!--
#apDiv1 {
width:200px;
height:100%;
border:1px solid #000;
}
#apDiv1 table{
width:200px;
height:100%;
border:1px solid #000;
}
-->
</style>
<div id="apDiv1"><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td>blah</td></tr>
<tr><td height="100%">blah</td></tr>
<tr><td>blah</td></tr>
</table>
</td>
<td>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td>blah</td></tr>
<tr>
<td height="100%"><p>blahfhfh</p>
<p>dfhdf</p>
<p>h</p>
<p>dfh</p>
<p>df</p>
<p>h</p>
<p> </p></td></tr>
<tr><td>blah</td></tr>
</table>
</td>
<td>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td>blah</td></tr>
<tr><td height="100%">blah</td></tr>
<tr><td>blah</td></tr>
</table>
</td>
</tr>
<tr>
<td><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>blah</td>
</tr>
<tr>
<td height="100%"><p>blahfhfh</p>
<p>dfhdf </p>
<p> </p></td>
</tr>
<tr>
<td>blah</td>
</tr>
</table></td>
<td><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>blah</td>
</tr>
<tr>
<td height="100%">blah</td>
</tr>
<tr>
<td>blah</td>
</tr>
</table></td>
<td><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>blah</td>
</tr>
<tr>
<td height="100%">blah</td>
</tr>
<tr>
<td>blah</td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>blah</td>
</tr>
<tr>
<td height="100%">blah</td>
</tr>
<tr>
<td>blah</td>
</tr>
</table></td>
<td><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>blah</td>
</tr>
<tr>
<td height="100%">blah</td>
</tr>
<tr>
<td>blah</td>
</tr>
</table></td>
<td><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>blah</td>
</tr>
<tr>
<td height="100%">blah</td>
</tr>
<tr>
<td>blah</td>
</tr>
</table></td>
</tr>
</table>
</div>
答案 0 :(得分:1)
display:inline-block
有height:100%
,但它可能没有您想要的那么灵活(如果您想支持Firefox 2,代码非常难看。)
您可能遇到的“XHTML”问题是没有模拟IE5错误的CSS(当您不使用DOCTYPE或使用旧的/不完整的错误时获得)会限制何时可以使用auto
如果父元素的高度为html,body,#apDiv1 {
height:100%;
}
,则百分比高度不起作用,默认情况下,几乎每个HTML元素都有自动高度。您必须在表的所有父元素上设置显式高度:
{{1}}
答案 1 :(得分:0)
然后,您可以将DOCTYPE更改为
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
然后重新验证它。如果有任何问题或行为有所不同,您可以在此询问具体问题。