水平选择全宽jQuery Mobile

时间:2013-07-25 14:33:45

标签: jquery html css jquery-mobile

我试图询问用户他们的出生日,并遇到一些风格问题。

您应该能够从http://jsfiddle.net/DjsWv/14/

了解我的问题

我开始时:

         <fieldset data-role="controlgroup" data-type="horizontal">
            <legend>Date of Birth:</legend>
            <select name="select-choice-month" id="select-choice-month" data-icon="false">
                <option >Month</option>
                <option value="jan">Jan</option>
            </select>
            <select name="select-choice-day" id="select-choice-day" data-icon="false">
                <option >Day</option>
                <option value="1">1</option>
            </select>
            <select name="select-choice-year" id="select-choice-year">
                <option >Year</option>
                <option value="2011">2012</option>
            </select>
        </fieldset>

这里的问题是我不喜欢宽度不满或100%

我见过的唯一解决方案是使用看起来不适合我的导航栏...如何让这个水平控制组显示为完整/标准宽度的任何想法

3 个答案:

答案 0 :(得分:4)

工作示例:http://jsfiddle.net/Gajotres/PUVkw/

HTML

<fieldset data-role="controlgroup" data-type="horizontal" class="custom-fieldset">
    <legend>Date of Birth:</legend>

    <select name="select-choice-month" id="select-choice-month" data-icon="false">
        <option >Month</option>
        <option value="jan">Jan</option>
    </select>

    <select name="select-choice-day" id="select-choice-day" data-icon="false">
        <option >Day</option>
        <option value="1">1</option>
    </select>

    <select name="select-choice-year" id="select-choice-year">
        <option >Year</option>
        <option value="2011">2012</option>
    </select>
</fieldset>

CSS

.custom-fieldset .ui-controlgroup-controls {
    width: 100% !important;
}

.custom-fieldset .ui-controlgroup-controls .ui-select {
    width: 33.33% !important;
}

不要忘记为您的字段集添加自定义类名称,在我的情况下称为: custom-fieldset

修改

点击 ericjbasti 后,这是一个包含自定义ID但没有 !important 的解决方案:http://jsfiddle.net/Gajotres/PUVkw/1/

答案 1 :(得分:2)

没有必要覆盖任何风格。您甚至可以在表单中使用导航栏行为。

请参阅:jQuery Mobile: Full width of <select>s fieldgroup

答案 2 :(得分:1)

我并不热衷于使用上面的导航栏解决方案,因此寻找更干净的CSS覆盖。看不到重要事项,如果你没有将它们包装在全角元素中,它们就不会干扰jQuery Mobile主题。

HTML

<div class="full-width">
   <div class="ui-field-contain country-select">
      <label for="countrySelect" class="ui-screen-hidden">Select Country</label>
         <select id="countrySelect" data-native-menu="false">
            <option class="default-option">Select Country</option>
         </select>
   </div>
</div>

CSS

.full-width .ui-field-contain .ui-select {
   width: 100%;
}