如何左对齐这些Bootstrap表单项?

时间:2013-01-10 19:55:28

标签: html css forms twitter-bootstrap

我第一次使用Bootstrap,并且在将此表单水平向左对齐方面遇到了很多麻烦。

列表项是水平的,因为它们应该是,但我希望控件标签(表单标签的Bootstrap类)都位于左侧浮动的相同位置。

表单包含在一个跨度为7的div中,因为我的站点是两列--7列和4列。

下面是我的HTML。如果您查看此页面上的“水平表单”http://accounts.tao.tw.shuttle.com/examples_bootstrap/basecss/forms,您会看到标签左对齐,但不是绝对左对齐,以便标签的开头垂直位于同一位置。

<form class="form-horizontal">
    <div class="control-group">
        <label class="control-label" for="inputSaving">What are you saving for?</label>
        <div class="controls">
            <input class="span4" type="text" id="inputSaving" placeholder="e.g. Swimming Lessons, Birthday Party, College Fund, etc.">
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="description">Add a short description</label>
        <div class="controls">
            <textarea class="span4" rows="4" placeholder="Describe in your own words the saving goal for this piggybank"></textarea>
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="categoryselect">Choose a Category</label>
        <div class="controls">
            <select class="span4">
                <!-- Add some CSS and JS to make a placeholder value-->
                <option value="Kittens">Kittens</option>
                <option value="Keyboard Cat">Keyboard Cat</option>
                <option value="Twitter Bird">Twitter Bird</option>
            </select>
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="goal">Your Saving Goal</label>
        <div class="controls">
            <input type="text" class="span4" id="goal">
        </div>
    </div>
    <button class="btn btn-large btn-primary" type="button">Submit</button>
</form>

7 个答案:

答案 0 :(得分:49)

只是我的两分钱。如果您使用的是Bootstrap 3,那么我只需在您自己网站的样式表中添加一个额外的样式,该样式表控制text-left的{​​{1}}样式。

如果要向标签添加control-label,默认情况下会有另一种样式覆盖此text-left。所以如果你添加:

.form-horizontal .control-label

然后内置的.form-horizontal .control-label.text-left{ text-align: left; } 样式正确应用于标签。

答案 1 :(得分:37)

如果您说问题是如何左对齐表单标签,请查看是否有帮助:
http://jsfiddle.net/panchroma/8gYPQ/

尝试更改CSS中的文本对齐左/右

.form-horizontal .control-label{
    /* text-align:right; */
    text-align:left;
    background-color:#ffa;
}
祝你好运!

答案 2 :(得分:5)

而不是更改原始引导程序css类,而是创建一个将覆盖默认样式的新css文件。

确保在包含bootstrap.css文件后包含新的css文件。

在新的css文件中执行

.form-horizontal .control-label{
   text-align:left !important; 
}

答案 3 :(得分:1)

“pull-left”就是你所需要的,看起来你正在使用Bootstrap 2,我不确定它是否可用,考虑bootstrap 3,除非它是一个巨大的返工! ...对于Bootstrap 3,但你需要确保每行中有12列,否则你会遇到问题。

答案 4 :(得分:1)

只需在您的标签上添加style="text-align: left"即可。

答案 5 :(得分:0)

text-align:left; 对我不起作用,但通过添加 display:flex; 我能够将标签移到左侧。

答案 6 :(得分:-2)

我遇到了完全相同的问题。我在bootstrap.min.css中发现了这个问题。您需要更改标签: label {display:inline-block;}label {display:block;}