html - Bootstrap 表单列未与非表单列对齐?

标签 html css twitter-bootstrap

我有这段代码(jsfiddle - 确保将“演示”框架拉伸(stretch)到足以使按钮位于一行上):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UI-Compatible" content="IE=edge /">
  <meta name="viewport" content="width=device-width, initial-scale=1 /">


  <!-- Latest compiled and minified CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

  <!-- Optional theme -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">

  <!-- Latest compiled and minified JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

</head>

<body>
  <div class="container">

  <br/><br/><br/>

    <div class="row">         

      <form class="form-horizontal" role="form">
        <div class="form-group">


           <label for="pfSel" class="col-sm-2 control-label">Select Product Family:</label>

           <div class="col-sm-4">
             <select class="form-control" id="pfSel"></select>
           </div>

          <label for="pidSel" class="col-sm-2 control-label">Select PID:</label>            

          <div class="col-sm-4">
             <select class="form-control" id="pidSel"></select>
          </div> 

        </div>
      </form>

    </div>    

    <div class="row">
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
      <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>  
    </div>

  </div>

</body>

第一行是表单,第二行是表单外的按钮,用于指示列的位置。如您所见,表单中的选择下拉菜单未与其下方的按钮对齐。下拉菜单的左边框与按钮的关系不同。为什么会发生这种情况,有什么办法可以解决吗?谢谢。

最佳答案

.row元素添加负边距以说明 Bootstrap 的 .col-* 中使用的填充定义。 .form-horizontal表格也这样做,所以你不应该包装你的 <form>里面的元素<div class="row"> .

更新您的标记如下:

<div class="container">       
      <form class="form-horizontal" role="form">
        <div class="form-group">
            <label for="pfSel" class="col-sm-2 control-label">Select Product Family:</label>
            <div class="col-sm-4">
                <select class="form-control" id="pfSel"></select>
            </div>

            <label for="pidSel" class="col-sm-2 control-label">Select PID:</label>            
            <div class="col-sm-4">
                <select class="form-control" id="pidSel"></select>
            </div> 
        </div>
    </form>

    <div class="row">
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>
        <div class="col-sm-1"><button type="button" class="btn btn-primary pull-left"></button></div>  
    </div>
</div>

另外,使用 margin或类似的 CSS 属性来添加空格,而不是 <br />标签。

jsFiddle Demo

关于html - Bootstrap 表单列未与非表单列对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36896216/

相关文章:

html - 标题元素的高度超过预期

html - CSS 过滤器继承问题 : Solution without pseudo element for dynamic sized divs?

html - 如何从 getbootstrap 禁用一个响应式 View ?

css - 如何覆盖宽度为 768-1140px 的 Joomla-Template CSS 文件中的 bootstrip.min.css

javascript - 从网格中删除一个项目,该项目应始终具有 6 列

javascript - 如何通过 Javascript 函数更改不同 div 的背景图像?

jquery - 如何使包含一半文本和一半图像/照片库的扩展 div 正常工作?

javascript - 使用javascript隐藏和显示下拉菜单

javascript - 如何从应用的 css 类中清除表单?

javascript - 长度不读的 JQuery 密码验证?