繁体   English   中英

div继承宽度和高度并滚动

[英]div inherit width & height and scroll

如何使DIV从其容器继承其Width和Height而没有固定的定义高度和宽度,默认情况下覆盖容器内部的整个区域并滚动而不是增加其height或width。 例如

<td style="width:400px; ">
<div style="overflow:scroll; ">
</div>
</td>

该DIV应该覆盖400像素,并且当内容超出此宽度时,它应该滚动。 容器可以是TD或SPAN。 一种方法可能是使CSS类具有定义的宽度,并同时应用于容器和div,但是,我不知道此DIV还将在其他地方使用以及其容器的宽度是多少。

编辑1通过将max-width设置为100px,我得到了我想要的,但否则它增加了容器的宽度。 可能是因为容器的宽度百分比。 看来我需要找到容器的初始宽度,然后设置DIV的最大宽度。 是吗?

编辑2该Div内有一个网格。 当以DIV的样式定义max-width时,它反映了我通过JS设置时需要的行为,当页面加载时宽度是确定的,但是当单击链接以将数据加载到网格内时,它将失去max-width属性。

<script type="text/javascript">
    var w = document.getElementById("divgrid").style.maxWidth;
    if (w == null || w == NaN || w <= 0 || w.toString() == '')
    w = document.getElementById("divgrid").offsetWidth;
    document.getElementById('divgrid').style.maxWidth = w + 'px';
</script>
width:100%; height:100%; overflow:scroll;

您选择了两个有趣的容器元素,因为Span的默认display值为inline而table的默认值为table 都不考虑overflow属性,因此要在div元素周围创建滚动条,需要将它们设置为display:block 使用上面的示例:

的HTML

<table>
    <tr>
        <td>
            <div>...lots of text here...</div>
        </td>
   </tr>
</table>

的CSS

table{
    height:100px;
    width:100px;
    display:block; 
    overflow:scroll;
}

Aand这是一个jsFiddle

tabletd使用overflow-x:scroll

例如

<table style="width:400px; overflow-x:scroll;">
   <tr>
     <td><div>content</div></td>
   </tr>

</table>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM