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

如何在input控件获焦时设置input-group-text元素的边框宽度

如何在input获焦时同步修改input-group-text的边框宽度?

问题场景

我有一个包含input-group的表单结构:

<div class="form-group mb-3">
    <div class="input-group">
        <input asp-for="Email" class="form-control" />
        <div class="input-group-append">
            <div class="input-group-text">
                <span class="fas fa-envelope"></span>
            </div>
        </div>
    </div>
    <small>
        <span asp-validation-for="Email" class="text-danger"></span>
    </small>
</div>

目前用这段SCSS修改input获焦时的边框宽度:

.form-control:focus,
.form-control:focus:active  {
    border-width: $input-focus-width !important;
}

但只有input控件的边框宽度会变化,想实现input获焦时,旁边的input-group-text元素也同步设置相同的边框宽度。


解决方案

利用CSS的相邻兄弟选择器和后代选择器,选中获焦input对应的input-group-text并同步样式,修改后的SCSS代码如下:

// 保留原input获焦样式
.form-control:focus,
.form-control:focus:active {
    border-width: $input-focus-width !important;
}

// 新增:同步修改input-group-text的边框宽度
.form-control:focus ~ .input-group-append .input-group-text,
.form-control:focus:active ~ .input-group-append .input-group-text {
    border-width: $input-focus-width !important;
    // 可选:调整圆角和左侧边框,让input与图标框衔接更自然
    border-left-width: 0 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

说明

  • ~ 是相邻兄弟选择器,用于选中当前元素(获焦的input)后方同层级的.input-group-append容器
  • 通过后代选择器定位到容器内的.input-group-text元素,同步设置边框宽度
  • 加上!important是为了覆盖框架(比如Bootstrap)的默认样式优先级
  • 可选的圆角调整是为了避免input和图标框之间出现双边框或圆角冲突,让视觉效果更统一

如果你的图标是在input左侧(用.input-group-prepend),只需把选择器中的.input-group-append换成.input-group-prepend,并调整圆角为右侧即可:

.form-control:focus ~ .input-group-prepend .input-group-text,
.form-control:focus:active ~ .input-group-prepend .input-group-text {
    border-width: $input-focus-width !important;
    border-right-width: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

内容的提问来源于stack exchange,提问作者Ivan-Mark Debono

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:01:02