Html 表';s宽度因显示而冻结:块

Html 表';s宽度因显示而冻结:块,html,css,html-table,width,Html,Css,Html Table,Width,我创建了一个包含表和一些数据的页面。虽然我将表的宽度设置为其父div的80%,但内部tbody和其他子级的宽度被冻结为450px 我还注意到,一旦我删除了属性display:block,表的子项就正确显示了(表的100%宽度) 我知道宽度冻结在450px有什么特别的原因吗?我检查了CSS中的所有地方,但我没有设置这样的规则 以下是我表格的代码: <div id="maincol"> <table width="80%" border="0" cellpadding="1" ce

我创建了一个包含
表和一些数据的页面。虽然我将表的宽度设置为其父div的80%,但内部
tbody
和其他子级的宽度被冻结为450px

我还注意到,一旦我删除了属性
display:block
,表的子项就正确显示了(表的100%宽度)

我知道宽度冻结在450px有什么特别的原因吗?我检查了CSS中的所有地方,但我没有设置这样的规则

以下是我表格的代码:

<div id="maincol">
<table width="80%" border="0" cellpadding="1" cellspacing="0" id="dates" class="summary" name="dates" style="display:block">
    <tbody>
        <tr>
                 ...

...

表格有自己的显示类型:“表格”(这是唯一可能的显示类型),类似地,trtd分别显示“表格行”和“表格单元格

为什么首先要使用
display:block
?对不起,我刚刚从一个网站上拿了一个例子来构建我的布局=sso 450px的宽度是浏览器根据display的差异生成的默认值?450px可能是几个因素的结果:“maincol”的宽度是多少?(理论上,450px应该是父级宽度的80%的圆角宽度……容器的宽度是562px吗?)css中应用于表的默认样式是什么?那么“#dates”和“.summary”…div#maincol的宽度是父级div的80%,其宽度设置为100%(我的分辨率为1139px),因此。。。通过仅考虑节点宽度,表的大小应为728/729px(1139*0.8*0.8)。这真的很奇怪。。。这可能是填充和边缘的组合,但很难说:P