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

Bootstrap表单输入框左侧文本无法横向排列问题求助

解决Bootstrap表单标签显示在输入框上方的问题

嘿,我来帮你搞定这个布局问题!你遇到的情况是因为没有正确结合Bootstrap的栅格系统实现水平表单布局,导致标签和输入框默认堆叠显示。另外你的代码里还存在表单标签嵌套的问题,这也需要一并修正。

问题根源

  1. 你使用了form-group row但未给<label>和输入控件分配对应的栅格列宽度(col-*类),Bootstrap的栅格系统需要明确列分配才能让元素横向排列
  2. 代码里同时出现了form_open()生成的表单标签和手动写的<form>标签,属于无效嵌套,会影响表单功能和布局

修正方案

  • 移除多余的手动<form>标签,保留PHP生成的form_open()即可
  • 给<label>添加col-sm-*类(比如col-sm-2),定义标签占据的列宽
  • 用带有col-sm-*类的容器包裹输入控件,让它和标签在同一行对齐
  • 给标签加上col-form-label类,确保和输入控件垂直居中对齐

修改后的代码示例

<div class="container">
  <center>
    <h3> Jongere toevoegen </h3>
  </center>
  <br>
  <?php echo form_open('index.php/Addjongere/Add_jongere'); ?>
    <!-- 示例表单字段 -->
    <div class="form-group row">
      <label for="jongereNaam" class="col-sm-2 col-form-label">Jongere Naam</label>
      <div class="col-sm-10">
        <input type="text" class="form-control" id="jongereNaam" name="jongereNaam" placeholder="Voer de naam in">
      </div>
    </div>

    <div class="form-group row">
      <label for="jongereLeeftijd" class="col-sm-2 col-form-label">Leeftijd</label>
      <div class="col-sm-10">
        <input type="number" class="form-control" id="jongereLeeftijd" name="jongereLeeftijd" placeholder="Voer de leeftijd in">
      </div>
    </div>

    <!-- 提交按钮 -->
    <div class="form-group row">
      <div class="col-sm-10 offset-sm-2">
        <button type="submit" class="btn btn-primary">Toevoegen</button>
      </div>
    </div>
  <?php echo form_close(); ?>
</div>

额外说明

  • col-sm-2和col-sm-10是针对小屏幕及以上设备的列分配,总和为12符合Bootstrap栅格规则,你可以根据需求调整为col-md-*或col-lg-*适配不同屏幕
  • offset-sm-2用来让提交按钮和输入框左对齐,保持布局一致性

这样修改后,表单标签就会乖乖显示在输入框左侧啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:34:42