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

使用Bootstrap 4.3+Razor构建表单时单选按钮重叠问题求助

解决Bootstrap 4.3单选按钮重叠问题

你的单选按钮出现重叠,核心问题是错误地用form-control类容器包裹了单选按钮组,同时两个单选按钮挤在了同一个form-check容器内,违反了Bootstrap 4的表单组件布局规范。

具体修复步骤:

  • 去掉包裹单选按钮组的<div class="form-control">标签,form-control是为文本输入、下拉选择等控件设计的,不适合包裹单选/复选按钮组。
  • 给每个单选按钮单独创建一个form-check容器:如果需要横向排列选项,给每个form-check加上form-check-inline类;如果要纵向排列,保留form-check即可。

修改后的Razor代码片段:

<div class="form-group">
    <label>Pick a Settlement Mode</label>
    <!-- 移除了外层的form-control容器 -->
    <div>
        <!-- 每个单选按钮单独一个form-check容器,加inline实现横向排列 -->
        <div class="form-check form-check-inline">
            @Html.RadioButtonFor(model => model.IsSettlementOnHold, "No", new { @class = "form-check-input", @id = "rbIsSettlementOnHold_No" })
            @Html.Label("rbIsSettlementOnHold_No", "Standard ", new { @class = "form-check-label" })
        </div>
        <div class="form-check form-check-inline">
            @Html.RadioButtonFor(model => model.IsSettlementOnHold, "Yes", new { @class = "form-check-input", @id = "rbIsSettlementOnHold_Yes" })
            @Html.Label("rbIsSettlementOnHold_Yes", "On Request ", new { @class = "form-check-label" })
        </div>
        @Html.ValidationMessageFor(model => model.IsSettlementOnHold, "", new { @class = "text-danger" })
    </div>
</div>

补充说明:

  • 如果需要纵向排列两个单选按钮,只需要去掉form-check-inline类,每个form-check会自动占一行。
  • 你自定义的.form-control { height: auto; }样式也可能干扰布局,建议检查是否有必要保留,如果不是必须可以移除,避免影响其他表单控件的默认样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:01:03