现有一div,其宽度为固定值。通过JS中的 var creTab = document.createElement("table")插入表格。
问题:(1)为什么插入的表格宽度总是该div的宽度?(2)creTab.setAttribute("width","800px"),不起作用我想在的需求是,插入表格的宽度,随着单元格的宽度而变化。这该怎么做?

解决方案 »

  1.   

    表格,在没有指定样式时默认宽度是100%, 按你的要求应在创建表格后指定其width为某值或display为inline等必要的样式,
      

  2.   

    用DIV的innerHTML写,就能控制了
      

  3.   


    不行,宽度总是跨不出div的宽度呀!
      

  4.   

    去掉800px中的px
      

  5.   

    少用width属性,尽量使用 style中的widthcreTab.style.width="800px"
      

  6.   

    宽度跨不出div的宽度就对了
    对于table来说,它的包含块就是 div
    它的宽度算法是shrink-to-fit,跟包含块是有关系的。
      

  7.   

    难道你认为下面的代码是正确的:
    <table width="800px">…</table>
      

  8.   

    总之少用为妙,W3C推荐用style设置样式
      

  9.   

    你把table的 style设置一下:table-layout:fixed 再试试设置宽度管用不
      

  10.   


    因为我用的是js,所在在js中写的代码如下:creTab.style.tableLayout="fixed"; creTab.currentStyle.tableLayout="fixed";(也不行)然后再针对每个单元格设置宽度 myTd.style.width="100px";但是还是有问题!表格的宽度还是等于800px ,表格只有四列,其宽度应该是400px才对呀!但我将creTab.style.width="900px" 后,表格的宽度确实变了!这又是什么原因?期待!