You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CSS float属性后hr元素错位,如何调整使其位于两个section之间?

问题根因

你遇到的是浮动元素高度塌陷问题:设置了float属性的元素会脱离普通文档流,父级<section>容器无法感知到内部浮动子元素的高度,只会把高度计算到未浮动的<h2>元素底部,因此后续的<hr>就会出现在教育背景区块的中间位置。

可行解决方案

方案1:给父容器清除浮动(推荐,适用所有浮动父容器场景)

给包含浮动元素的教育背景<section>容器设置清除浮动规则,最常用的是引入通用clearfix工具类:

/* 可全局复用的清除浮动类 */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

然后给你的教育区块<section>加上class="clearfix"即可,父容器会自动被内部浮动元素撑起高度,<hr>自然就会出现在两个区块中间。

方案2:直接给hr设置清除浮动属性(改法最简,适配你当前的场景)

直接给<hr>元素添加clear: both样式,强制<hr>渲染在所有左右浮动元素的下方:

hr {
  clear: both;
  /* 原有hr的其他样式保留即可 */
}

额外代码规范提醒

HTML中id属性是唯一标识,不可多个元素共用同一个id,你代码里两个<p>都用了id="e1",建议替换为class="e1"避免后续样式、JS选择器出现异常。

内容的提问来源于stack exchange,提问作者user_1738

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:51:02