html - 如何使用 css 和 bootstrap 修复表单字段对齐问题

标签 html css twitter-bootstrap-3

我已经使用 bootstrap 创建了一个表单。当它显示错误时,错误下方的 div block 向右移动。如何使用 CSS 解决这个问题?

这是显示错误后的截图:

enter image description here

代码

https://jsfiddle.net/yzm2aj9j/#&togetherjs=Q8Bk7CaMjy

<form>
  <div class="col-xs-6 col-md-6">
    <div class="form-group ">
      <label for="username" class="col-md-6 control-label">User Name</label>
      <div class="col-md-6">
        <input type="text" class="form-control" id="username" placeholder="User Name">
      </div>
      <div class="col-xs-12" style="color:#ff5555;">
        <span class="error">User Name Cannot Be Blank</span>
      </div>
    </div>
  </div>
  <div class="col-xs-6 col-md-6">
    <div class="form-group ">
      <label for="inputEmail" class="col-md-6 control-label">Email</label>
      <div class="col-md-6">
        <input type="text" class="form-control" id="inputEmail" placeholder="Email">
      </div>
    </div>
  </div>
  <div class="col-xs-6 col-md-6">
    <div class="form-group ">
      <label for="phone" class="col-md-6 control-label">Phone</label>
      <div class="col-md-6">
        <input type="text" class="form-control" id="phone" placeholder="phone">
      </div>
    </div>
  </div>
  <div class="col-xs-6 col-md-6">
    <div class="form-group ">
      <label for="inputEmail" class="col-md-6 control-label">Email</label>
      <div class="col-md-6">
        <input type="text" class="form-control" id="inputEmail" placeholder="Email">
      </div>
    </div>
  </div>
  <div class="col-xs-6 col-md-6">
    <div class="form-group ">
      <label for="inputEmail" class="col-md-6 control-label">Email</label>
      <div class="col-md-6">
        <input type="text" class="form-control" id="inputEmail" placeholder="Email">
      </div>
    </div>
  </div>
  <div class="col-xs-6 col-md-6">
    <div class="form-group ">
      <label for="inputEmail" class="col-md-6 control-label">Email</label>
      <div class="col-md-6">
        <input type="text" class="form-control" id="inputEmail" placeholder="Email">
      </div>
    </div>
  </div>
</form>

最佳答案

根据 Bootstrap's Documentation :

If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.

If default grids are being used then rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).

您需要将两个 .col-xs-6 包裹在一个 .row 中。你的代码结构应该是这样的:

<div class="row">
    <div class="col-xs-6">
        // column content goes here...
    </div>
    <div class="col-xs-6">
        // column content goes here...
    </div>
</div>
<div class="row">
    <div class="col-xs-6">
        // column content goes here...
    </div>
    <div class="col-xs-6">
        // column content goes here...
    </div>
</div>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<form>
  <div class="row">
    <div class="col-xs-6 col-md-6">
      <div class="form-group ">
        <label for="username" class="col-md-6 control-label">User Name</label>
        <div class="col-md-6">
          <input type="text" class="form-control" id="username" placeholder="User Name">
        </div>
        <div class="col-xs-12" style="color:#ff5555;">
          <span class="error">User Name Cannot Be Blank</span>
        </div>
      </div>
    </div>
    <div class="col-xs-6 col-md-6">
      <div class="form-group ">
        <label for="inputEmail" class="col-md-6 control-label">Email</label>
        <div class="col-md-6">
          <input type="text" class="form-control" id="inputEmail" placeholder="Email">
        </div>
      </div>
    </div>
  </div>
  <div class="row">
    <div class="col-xs-6 col-md-6">
      <div class="form-group ">
        <label for="phone" class="col-md-6 control-label">Phone</label>
        <div class="col-md-6">
          <input type="text" class="form-control" id="phone" placeholder="phone">
        </div>
      </div>
    </div>
    <div class="col-xs-6 col-md-6">
      <div class="form-group ">
        <label for="inputEmail" class="col-md-6 control-label">Email</label>
        <div class="col-md-6">
          <input type="text" class="form-control" id="inputEmail" placeholder="Email">
        </div>
      </div>
    </div>
  </div>
  <div class="row">
    <div class="col-xs-6 col-md-6">
      <div class="form-group ">
        <label for="inputEmail" class="col-md-6 control-label">Email</label>
        <div class="col-md-6">
          <input type="text" class="form-control" id="inputEmail" placeholder="Email">
        </div>
      </div>
    </div>
    <div class="col-xs-6 col-md-6">
      <div class="form-group ">
        <label for="inputEmail" class="col-md-6 control-label">Email</label>
        <div class="col-md-6">
          <input type="text" class="form-control" id="inputEmail" placeholder="Email">
        </div>
      </div>
    </div>
  </div>
</form>

关于html - 如何使用 css 和 bootstrap 修复表单字段对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38569593/

相关文章:

html - 使用带有大量 div 的 HTML 的最佳工具?

javascript - 我将数据表用于 JSP 文件中填充的列表,而在 jsp 文件中列表显示不正确

html - 图库图像未在 Internet Explorer 9 中显示

html - 如何在电子邮件中嵌入图像?

javascript - 更改文本区域字段中的字体和字体大小

html - 使用缩进和对齐将文本环绕在图像周围

html - Bootstrap "Navbar"css 类在我的 html 页面上不起作用

twitter-bootstrap - 导航栏上的搜索表单 pull-left/pull-right 在 Chrome 中无法正常工作

html - 使列表组全宽 - 出现水平滚动条

html - 悬停时我无法让按钮以图像为中心