微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css – 表布局问题 – Firefox与Chrome和IE7

我正在尝试布局一个 HTML表格(它是表格数据),它在Firefox 3.5和Chrome 2.0.172(EDIT和IE7 – 呈现像Chrome这样的表格)中的呈现方式不同.

我把桌子放在div里面:

<div id="listcontainer">
  <table class="tasklist">
    <colgroup>
      <col class="narrow" />
      <col class="wide" />
      {{ more column deFinitions here }}
    </colgroup>
{{ varIoUs code here }}
  </table>
</div>

而且我有div和table的css:

div#listcontainer {
    position: relative;
    float: left;
    width: 98%;
    padding: 0;
    border: 1px;
    overflow-x: scroll;
}

table.tasklist {
    width: auto;
    table-layout: auto;
    border: thin solid;
    font-size: 9pt;
    border-collapse: collapse;
    empty-cells: show;
}

col.narrow {
    min-width: 50px; 
}
col.wide {
    min-width: 200px; 
}

在Firefox中,表格渲染比包含div更宽,div上的滚动条允许用户滚动到其他列(这是预期的操作).但是,Chrome和IE7似乎忽略了列的min-width属性,并将整个表格包含在包含div中.这不是我想要的.我究竟做错了什么?

编辑:我将最小宽度元素放在th和td元素本身而不是使用colgroup,然后它在所有三个浏览器中按预期呈现.使用cols,检查Chrome中的元素表示计算出的样式已经使列宽度适合div内部…

解决方法

我不知道chrome,但我相信IE7需要一个明确的“width:auto;”在元素上正确处理“最小宽度”.这似乎没有在msdn上记录,但它似乎出现在谷歌上.

http://blog.throbs.net/2006/11/17/IE7+And+MinWidth+.aspx
http://msdn.microsoft.com/en-us/library/ms530820(VS.85).aspx

(另外,对表和colgroup使用min-width有一些限制,所以你可能实际上无法实现.)

原文地址:https://www.jb51.cc/css/215687.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。