【问题标题】:HTML5 Bootstrap3: Display side-by-side credit card expiration month and year?HTML5 Bootstrap3:并排显示信用卡到期月份和年份?
【发布时间】:2015-05-20 17:56:21
【问题描述】:

我一直在使用 Bootstrap v3 制作移动友好的支付表单/应用程序。我在显示并排字段 (2) 和普通文本字段时遇到了一些困难。有信用卡到期月份和信用卡到期年份。更改页面宽度时,标签/字段不会以相同的方式进行调整。下拉菜单有时也很难阅读。我应该只对下拉列表应用一个固定的吗?有什么建议么?请参阅 JSFiddle 示例。

https://jsfiddle.net/1dnqLb8r/

全屏

https://jsfiddle.net/1dnqLb8r/embedded/result/

<div class="container">
<fieldset>
    <legend>Credit Card Information</legend>
    <!-- Text input-->
    <div class="form-group">
        <label class="col-md-4 control-label" for="AccountNo" id="AccountNo_label">* Card Number</label>
        <div class="col-md-5">
            <input id="AccountNo" name="AccountNo" type="tel" value="1234123412341234" placeholder="Debit / Credit Card Number" class="form-control input-md" required=""> <span class="help-block" style="display: none;">Enter a valid debit or credit card number. Spaces will be shown automatically.</span> 
        </div>
    </div>
    <div class="form-group">
        <label class="col-sm-4 control-label" for="CCMonth">* Card Expiration</label>
        <div class="col-md-5">
            <div class="row">
                <div class="col-xs-3">
                    <select class="form-control col-sm-2" name="CCMonth" id="CCMonth">
                        <option>Month</option>
                        <option value="01" Selected>Jan (01)</option>
                        <option value="02">Feb (02)</option>
                        <option value="03">Mar (03)</option>
                        <option value="04">Apr (04)</option>
                        <option value="05">May (05)</option>
                        <option value="06">June (06)</option>
                        <option value="07">July (07)</option>
                        <option value="08">Aug (08)</option>
                        <option value="09">Sep (09)</option>
                        <option value="10">Oct (10)</option>
                        <option value="11">Nov (11)</option>
                        <option value="12">Dec (12)</option>
                    </select>
                </div>
                <div class="col-xs-3">
                    <select class="form-control" name="CCYear">
                        <option>Year</option>
                        <option value="15" selected>2015</option>
                        <option value="16">2016</option>
                        <option value="17">2017</option>
                        <option value="18">2018</option>
                        <option value="19">2019</option>
                        <option value="20">2020</option>
                        <option value="21">2021</option>
                        <option value="22">2022</option>
                        <option value="23">2023</option>
                        <option value="24">2024</option>
                        <option value="25">2025</option>
                        <option value="26">2026</option>
                        <option value="27">2027</option>
                        <option value="28">2028</option>
                        <option value="29">2029</option>
                    </select>
                </div>
            </div> <span class="help-block" style="display: none;">Select the card expiration date month and year.</span> 
        </div>
    </div>

【问题讨论】:

    标签: html twitter-bootstrap


    【解决方案1】:

    我想这就是你要找的。我重新创建了您的布局并使其稀疏,因此您可以看到我做了什么以及它与您的代码相比如何。基本上,我认为您与cols 混淆了,这真的很容易做到。 :)

    <div class="container">
        <form class="form-horizontal">
    
            <label class="col-sm-5 control-label">Card Number</label>
            <div class="col-sm-7">
                <div class="form-group">
                    <input type="text" class="form-control">
                </div>
            </div>
    
            <label class="col-sm-5 control-label">Card Expiration</label>
            <div class="col-sm-7">
                <!-- wrap in a .row to remove padding so it matches input:text field -->
                <div class="row">
                    <div class="col-sm-6">
                        <div class="form-group">
                            <select class="form-control">
                                <option>Year</option>
                            </select>
                        </div>
                    </div>
                    <!-- offset by 1 so it's not smashed up to the year select -->
                    <div class="col-sm-5 col-sm-offset-1">
                        <div class="form-group">
                            <select class="form-control">
                                <option>Month</option>
                            </select>
                        </div>
                    </div>
                </div>
            </div>
    
        </form>
    </div>
    

    【讨论】:

    • 哦,我明白了。那么,即使是内部“行”也必须总计为 12,而不是 7?即 6+5+1 = 12。
    • 如果你不想这样做,你没有必须做 12 - 如果它们加起来不等于 12,你只会有空格。我添加了.col-sm-offset-1 class 所以月份选择没有触及年份选择。但是,一般来说,是的,你可以嵌套任意数量,每个嵌套最多 12 个。
    • 我终于让它以各种宽度显示。我不得不从上面的代码中删除你的“
      ”div。这些 div 有什么原因吗?
    • 它们不是必需的,只是添加格式。真高兴你做到了。 :)
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签