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

登录表单输入框focus/active状态outline重叠问题求助

解决iCloud克隆页面输入框focus时outline重叠问题

问题原因

outline是完整的矩形盒模型,不支持单独隐藏某一边,因此两个无缝连接的输入框在focus状态下,各自的蓝色outline会相互重叠,无法通过类似outline-top: none的属性解决。

解决方案:利用父容器统一处理focus状态

通过给两个输入框添加父容器,使用:focus-within伪类在输入框focus时给父容器添加蓝色outline,既避免重叠,又保持输入框无缝连接。

步骤1:修改HTML结构

给两个输入框包裹一个父容器.input-container:

<div class="page-1">
  <div class="login-logo">
    <img src="../Assets/login-logo.svg">
  </div>
  <div class="login-title">
    <p class="login-text">
      Se connecter avec un identifiant
    </p>
  </div>
  <form action="#" class="main-form">
    <div class="login-form">
      <!-- 添加父容器 -->
      <div class="input-container">
        <span>
          <input id="username" class="email-input" type="email" placeholder="Identifiant" required="">
        </span>
        <span>
          <input id="password" class="pass-input" type="password" placeholder="Mot de passe" required="">
          <button id="submit" class="fal fa-arrow-circle-right"></button>
        </span>
      </div>
    </div>
  </form>
</div>

步骤2:修改CSS样式

调整输入框和父容器的样式,让父容器承担边框和focus状态的outline:

/* 父容器样式 - 统一处理边框和focus效果 */
.input-container {
  width: 20rem;
  margin: auto;
  border: 1px solid rgb(155, 154, 154);
  border-radius: 0.3rem;
}

/* 输入框通用样式 */
.email-input,
.pass-input {
  width: 100%;
  height: 24px;
  font-size: 17px;
  font-weight: 200;
  padding: 0.5rem;
  border: none;
  outline: none; /* 去掉输入框自身的outline */
  background: transparent;
}

/* 邮箱输入框:添加底部分隔线,调整圆角 */
.email-input {
  border-bottom: 1px solid rgb(155, 154, 154);
  border-radius: 0.3rem 0.3rem 0 0;
}

/* 密码输入框:调整圆角 */
.pass-input {
  border-radius: 0 0 0.3rem 0.3rem;
}

/* 父容器在内部输入框focus时显示蓝色outline */
.input-container:focus-within {
  outline: 2px solid #0070c9;
}

效果说明

  • 默认状态下,父容器显示灰色边框,两个输入框通过内部分隔线保持无缝连接;
  • 任意输入框focus时,父容器整体显示蓝色outline,完全不会出现重叠问题;
  • 保留了你原本的输入框样式和交互逻辑,仅通过父容器优化了focus状态的显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 09:07:04