html - 如何使两个左浮动div不重叠?
问题描述
我有一个主 div,它涵盖了所有站点。在里面我有两个 div,都带有 CSS 属性 float: left。左边的 div 较小,高度小于右边的高度,右边的 div 与左边的重叠。正确渲染右侧 div 上的文本,直到内容的长度大于左侧 div 的高度,然后文本粘在左侧。我试过位置:绝对,但它没有用。我希望这张图片能解释我的问题并显示我想要得到的东西。
.left-div {
margin: 25px;
float: left;
}
.right-div {
float: left;
margin: 25px;
justify-content: center;
}
<div className="main-container">
<div className="left-div" /> content of left div
</div>
<div className="right-div">
content of right div
</div>
</div>
解决方案
不要使用浮动。它会破坏一切的秩序。相反,对主容器使用 display flex。或者,如果您不想使用 flex,请将 display inline-block 提供给您的 div。这比浮动好。
.main-container{
width: 100%;
height: 100%;
display: flex;
justify-content: flex-start;
}
.left-div {
margin: 25px;
border: 1px solid #a5a5a5;
padding: 5px;
height: 100px;
width: 40%;
margin: 0 5px;
}
.right-div {
margin: 0 5px;
justify-content: center;
border: 1px solid red;
padding: 5px;
height: 250px;
width: 60%;
}
<div class="main-container">
<div class="left-div"> content of left div </div>
<div class="right-div">
content of right div
</div>
</div>
推荐阅读
- sql - SQL Server 错误 - 转换溢出 int
- postgresql - 不使用 union 同时查看两个 SQL 表
- sql - 单个配置单元查询以删除数据中的某些文本
- php - 当 PHP 删除文件上的 Active 不等于 No 时需要一条消息
- c# - {0} 等占位符的位置在阿拉伯语文本中发生变化
- javascript - 从下拉列表中获取所选选项的值
- python - Python 请求抛出“证书验证失败:无法获取本地颁发者证书”错误
- node.js - 使用 Promise 的 Lambda 的 sinon 存根
- php - 使用 Wp-Posts 和 Wp-Terms 查询 Wordpress 帖子
- javascript - ts-node-dev 不打印 ts 错误