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

切换图片覆盖层时如何避免伪元素自定义边框高度变化

问题根源

边框高度变动核心是两个问题:

  • .img-container没有固定高度,且内部所有img都设置了绝对定位脱离文档流,导致父容器高度塌陷,实际高度会随内部文档流元素变化而变动,而伪元素高度是按父容器高度的30%计算的,自然会同步变动
  • 类名逻辑错误,当前你设置的.img-hidden没有隐藏效果,只是调整了层级和混合模式,元素实际始终存在,还可能因为样式变化影响父容器高度计算

修复方案

直接替换对应代码即可:

CSS

.container {
  position: relative;
  width: auto;
  height: auto;
  display: inline-block;
}
.info-container {
  position: absolute;
  width: auto;
  height: auto;
  display: grid;
  grid-template-areas: "inner-div";
}
/* Image wrap with corner borders */
.img-container {
  position: relative;
  width: 200px;
  height: 200px;
  margin: 10px;
  background-color: #fff;
  display: grid;
  grid-template-areas: "inner-div";
}
.img-container::after {
  display: block;
  content: "";
  width: 30%;
  height: 30%;
  position: absolute;
  top: -10px;
  right: -10px;
  border-top: 2px solid #ff8a8a;
  border-right: 2px solid #ff8a8a;
  padding-top: 25px;
}
.img-container::before {
  display: block;
  content: "";
  width: 30%;
  height: 30%;
  position: absolute;
  bottom: -10px;
  left: -10px;
  border-bottom: 2px solid #ff8a8a;
  border-left: 2px solid #ff8a8a;
  padding-bottom: 25px;
}
.img-info {
  position: absolute;
  grid-area: inner-div;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.plan-overlay {
  position: absolute;
  grid-area: inner-div;
  width: 100%;
  height: 100%;
  z-index: 2;
  mix-blend-mode: multiply;
}
.img-hidden {
  display: none;
}

HTML

<div class="container">
  <div class="info-container">
    <div class="img-container">
      <img src="https://via.placeholder.com/200/ff0000" onClick="toggleImage()" class="img-info" />
      <div>
        <img src="https://via.placeholder.com/200/0000ff" id="PlanOverlay" onClick="toggleImage()" class="plan-overlay img-hidden" />
      </div>
    </div>
  </div>
</div>

JavaScript

function toggleImage(){
  document.querySelector('#PlanOverlay').classList.toggle('img-hidden');
}

如果需要默认显示覆盖层,去掉HTML中覆盖层元素的img-hidden类即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:18:05