如何在两个带有padding的并排元素下方正确添加水平分割线
问题原因
你代码中的<img>和<h2>元素都设置了float: left属性,浮动元素会脱离正常文档流,导致包裹它们的父级div无法被内容撑开出现高度塌陷,因此水平分割线<hr>会排列到浮动元素的右侧,而非正下方。
解决方法
推荐两种最简单的调整方案:
- 方案1:给
<hr>添加clear: both属性,直接清除左右两侧浮动带来的布局影响,修改后的hr代码如下:
<hr style="clear: both;">
- 方案2:给包裹img和h2的父级div添加清除浮动规则,让父元素能正常包裹住浮动子元素,你可以直接给父div加
overflow: hidden样式,修改后的父div代码如下:
<div style="padding-left: 500px;overflow: hidden;">
修改后完整代码
<html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>xxxx</title> <style>.center { display: block; margin-left: auto; margin-right: auto; }</style> <link rel="icon" type="image/svg+xml" href="image" /> </head> <body> <div style="padding-left: 500px;overflow: hidden;"> <img src="image" alt="image" style="float:left ;" width="50" height="50" class="center"> <h2 style="text-align: center;font-family: sans-serif;color: rgb(81, 81, 133);float:left ;">xxxx</h2> <hr style="clear: both;"> </div> </body> </html>
两种方案任选一种即可生效,同时使用兼容性更好。
内容的提问来源于stack exchange,提问作者superdule
相关产品推荐
相关产品推荐

