【问题标题】:Bootstrap left align checkbox in horizontal form水平形式的引导左对齐复选框
【发布时间】:2017-04-26 03:55:10
【问题描述】:

我正在使用 Bootstrap 3.3.7。我有一个带有无标签复选框的水平表单,如下所示:

<div class="container-fluid" style="max-width:600px">
  <form class="form-horizontal">
    <div class="form-group">
      <label class="control-label col-sm-2" for="field1">Field 1:</label>
      <div class="col-sm-8">
        <input class="form-control" type="text" id="field1"/>
      </div>
    </div>
    <div class="form-group">
      <label class="control-label col-sm-2" for="field2">Field 2:</label>
      <div class="col-sm-8">
        <input class="form-control" type="text" id="field2"/>
      </div>
    </div>
    <div class="form-group">
      <label class="control-label col-sm-2" for="field3">Field 3:</label>
      <div class="col-sm-8">
        <!-- HERE IS THE CHECKBOX: -->
        <input class="form-control" type="checkbox" id="field3"/>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-8">
        <button class="btn btn-default btn-primary" type="submit">Apply Changes</button>
      </div>
    </div>
  </form>
</div>

我创建了一个Bootply demo here

问题是复选框居中。我希望它左对齐,所以左边缘与它上面的文本输入的左边缘对齐。

我该怎么做?

我试过了:

  • text-left类添加到包含复选框的div(结果:无效)。
  • 从复选框 div 中删除网格宽度说明符(结果:它只是在下一行结束)。
  • 将复选框输入包含在label 标记中,阅读this post 后的疯狂猜测(结果:它消失了)。
  • 随机手动重新排列 div(结果:精神崩溃,git checkout 恢复更改)。

我没有想法。

【问题讨论】:

    标签: html css twitter-bootstrap


    【解决方案1】:

    你能在复选框中添加一个类吗?试试这个:

    <input class="form-control move-left" type="checkbox" id="field3">
    
    .move-left {
        width: auto;
        box-shadow: none;
      }
    

    演示:http://www.bootply.com/At8YVfnm5F

    更新根据 gyre 的评论。

    【讨论】:

    • 优秀。如果我仔细观察检查器,我想我会发现宽度是罪魁祸首。这也消除了阴影边框,即使我没有问过它,它实际上也困扰着我。
    • 另外(感谢 gyre),adding the checkbox-inline class 在此之上也修复了垂直对齐。
    • 太好了,很高兴它有帮助。不知道内联复选框,这很方便
    • 另一件事:width: auto 将是一个更灵活的选择。
    【解决方案2】:

    您可以更改输入 id LiveOnBootplay 的宽度初始或自动

       input#field3 {
         width: auto;
        }
    

    【讨论】:

      【解决方案3】:

      尝试将包含复选框的 div 的类从 col-sm-8 更改为 col-sm-1,然后将 checkbox-inline 的类添加到您的输入元素。

      演示: http://www.bootply.com/kjF1gVtWDC

      <div class="col-sm-1">
        <!-- HERE IS THE CHECKBOX: -->
        <input class="form-control checkbox-inline" type="checkbox" id="field3" />
      </div>
      

      【讨论】:

      • 哦,我明白了。我想只要容器宽度小于表单行高度的 1/12 就可以工作,这在我的 600px 情况下是正确的。我有点后悔在我的示例中添加了 max-width,但为时已晚,呵呵。我想知道是否有更广泛形式的解决方案?垂直对齐也有点偏离(它低了几个像素),但我想我现在可以忍受。
      • @JasonC 垂直对齐关闭是由margin: 4px 0 0; 引起的 - 在玩弄你的小提琴时,可以在开发者控制台中修改它的 css 属性。和行高。
      • @Fred-ii- Cool,设置 margin:0 解决了这个问题。这可以完成工作。在我接受之前,我还要花几分钟看看是否有人对更宽的父容器的案例有任何建议。
      • @JasonC 我自己就是一个“引导者”。我不想放弃这个答案,但如果我能提供帮助,我当然会很乐意提供帮助。我现在不在工作机器上。
      • 请注意,您可以将checkbox-inline的类应用于输入以达到相同的效果。
      猜你喜欢
      • 2019-01-02
      • 2014-09-14
      • 1970-01-01
      • 2015-11-13
      • 2013-04-06
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      相关资源
      最近更新 更多