如何使子 div 始终适合父 div?

新手上路,请多包涵

我的问题是,当您无法事先知道父 div 的大小时,是否有办法在不使用 JavaScript 的情况下使子 div 扩展到其父级的边界而不超出这些边界?

下面是展示我的问题的示例标记/样式。如果将其加载到浏览器中,您将看到 #two#three 都延伸到其父级之外, #one 并导致出现滚动条。

我的问题不是滚动条,而是我不知道如何告诉子 div 占据它们剩余的宽度或高度,而不是父级的完整高度或宽度。

 <html>
    <head>
        <style>
            html, body {width:100%;height:100%;margin:0;padding:0;}
            .border {border:1px solid black;}
            .margin { margin:5px;}
            #one {width:100%;height:100%;}
            #two {width:100%;height:50px;}
            #three {width:100px;height:100%;}
        </style>
    </head>
    <body>
        <div id="one" class="border">
            <div id="two" class="border margin"></div>
            <div id="three" class="border margin"></div>
        </div>
    </body>
</html>

原文由 Tim Sheiner 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 339
1 个回答

我有一个类似的问题,但就我而言,我的 div 中有内容,高度将超过父 div 的边界。当它出现时,我希望它自动滚动。我能够通过使用来完成这个

.vscrolling_container { height: 100%; overflow: auto; }

原文由 meem 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题