2010-12-17 73 views
0

我有以下脚本:把一个可滚动的div成表

<table width="100%"> 
    <tr> 
     <td style="width: 300px;background-color: red"> 
     </td> 
     <td style="background-color: lime"> 
      <div style="width: 50%;overflow: auto;"> 
       <img src="very_big_image.jpg" /> 
      </div> 
     </td> 
     <td style="width: 400px;background-color: orange"> 
     </td> 
    </tr> 
</table> 

它设置的第二td等于我imgwidth宽度,(但在逻辑上第二td必须具有宽度= '100% - 300px - 400px')所以我在整个窗口中都有滚动条。

我该如何解决?

+0

不使用overflow:scroll;在这种情况下工作? – 2010-12-17 12:51:08

+0

即使使用'overflow:hidden',它也不起作用:( – Simon 2010-12-17 13:01:23

回答

1

设置溢出滚动应该acheive你在找什么:

overflow:scroll; 

例子:http://jsfiddle.net/WbAEq/

设置溢出自动为您将只显示滚动条,当你使用剪裁。

UPDATE:

为了得到表溢出内容工作,你需要设置的<table>fixed

table{ 
table-layout:fixed; 
} 

table-layout属性你可以在这里看到这样一个例子:http://jsfiddle.net/WbAEq/2/

+0

也不能与'overflow:scroll'一起使用,我测试过了。在你的例子中,你在整个窗口中都有滚动(就像'overflow:自动') – Simon 2010-12-17 13:00:41

+0

啊,是的,这似乎只发生在TD内部的DIV具有基于%宽度的情况下,如果将宽度设置为px,那么它工作正常 – 2010-12-17 16:23:14

+0

我已经用适用于Syom的解决方案更新了我的答案。 – 2010-12-17 16:28:20