2013-04-26 91 views
0

有没有人知道为什么<legend>标签没有集中在JQuery手机中?例如,我尝试了下面的代码。图例标签包含文字左对齐的JQuery移动?

<fieldset data-role="controlgroup" data-type="horizontal" data-theme="a"> 
       <legend>I would this site.<legend> 
       <input type="radio" name="radio-choice-2-6" id="radio-choice-1-6" value="choice-1-6" /> 
       <label for="radio-choice-1-6">1</label> 

       <input type="radio" name="radio-choice-2-6" id="radio-choice-2-6" value="choice-2-6" /> 
       <label for="radio-choice-2-6">2</label> 

       <input type="radio" name="radio-choice-2-6" id="radio-choice-3-6" value="choice-3-6" /> 
       <label for="radio-choice-3-6">3</label> 

       <input type="radio" name="radio-choice-2-6" id="radio-choice-4-6" value="choice-4-6" /> 
       <label for="radio-choice-4-6">4</label> 

       <input type="radio" name="radio-choice-2-6" id="radio-choice-5-6" value="choice-5-6" /> 
       <label for="radio-choice-5-6">5</label> 
      </fieldset> 

当我检查在移动和模拟器的<legend>标签保持文本,即使我将样式text-align: center<legend>标签左对齐。但是,如果我把一个更长的文本,那么它的工作正常。例如:

<fieldset data-role="controlgroup" data-type="horizontal" data-theme="a"> 
       <legend><p>If given the choice, I would rather spend time with my family than with friends or working.</p><legend> 
       <input type="radio" name="radio-choice-2-8" id="radio-choice-1-8" value="choice-1-8" /> 
       <label for="radio-choice-1-8">1</label> 

       <input type="radio" name="radio-choice-2-8" id="radio-choice-2-8" value="choice-2-8" /> 
       <label for="radio-choice-2-8">2</label> 

       <input type="radio" name="radio-choice-2-8" id="radio-choice-3-8" value="choice-3-8" /> 
       <label for="radio-choice-3-8">3</label> 

       <input type="radio" name="radio-choice-2-8" id="radio-choice-4-8" value="choice-4-8" /> 
       <label for="radio-choice-4-8">4</label> 

       <input type="radio" name="radio-choice-2-8" id="radio-choice-5-8" value="choice-5-8" /> 
       <label for="radio-choice-5-8">5</label> 
      </fieldset> 

请问有任何问题,请大声回答?

+0

有你试图使''legend'显示:block'明确,而且它的不浮动? 'fieldset'标记同样适用 – 2013-04-26 11:48:50

回答

2

这是因为在您的第一个示例中,在jQuery Mobile重新调整页面后,图例不再存在。

相反传奇标签这样的:

<legend>I would this site.</legend> 

新的结构是这样的:

<div class="ui-controlgroup-label" role="heading">I would this site.</div> 

或者,如果你想有一个完整的面貌,新的HTML(JQM改型后)看起来像这样:

<fieldset id="custom-fieldset" data-theme="a" data-type="horizontal" data-role="controlgroup" class="ui-corner-all ui-controlgroup ui-controlgroup-horizontal"> 
    <div class="ui-controlgroup-label" role="heading">I would this site.</div> 
    <div class="ui-controlgroup-controls"> 
     <div class="ui-radio"><input type="radio" value="choice-1-6" id="radio-choice-1-6" name="radio-choice-2-6"><label for="radio-choice-1-6" data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="c" class="ui-btn ui-radio-off ui-corner-left ui-btn-up-c"><span class="ui-btn-inner ui-corner-left"><span class="ui-btn-text">1</span></span></label></div> 
     <div class="ui-radio"><input type="radio" value="choice-2-6" id="radio-choice-2-6" name="radio-choice-2-6"><label for="radio-choice-2-6" data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="c" class="ui-btn ui-radio-off ui-btn-up-c"><span class="ui-btn-inner"><span class="ui-btn-text">2</span></span></label></div> 
     <div class="ui-radio"><input type="radio" value="choice-3-6" id="radio-choice-3-6" name="radio-choice-2-6"><label for="radio-choice-3-6" data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="c" class="ui-btn ui-btn-up-c ui-radio-off"><span class="ui-btn-inner"><span class="ui-btn-text">3</span></span></label></div> 
     <div class="ui-radio"><input type="radio" value="choice-4-6" id="radio-choice-4-6" name="radio-choice-2-6"><label for="radio-choice-4-6" data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="c" class="ui-btn ui-btn-up-c ui-radio-off"><span class="ui-btn-inner"><span class="ui-btn-text">4</span></span></label></div> 
     <div class="ui-radio"><input type="radio" value="choice-5-6" id="radio-choice-5-6" name="radio-choice-2-6"><label for="radio-choice-5-6" data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="c" class="ui-btn ui-btn-up-c ui-radio-off ui-corner-right ui-controlgroup-last"><span class="ui-btn-inner ui-corner-right ui-controlgroup-last"><span class="ui-btn-text">5</span></span></label></div> 
    </div> 
</fieldset> 

现在你可以使用额外的css来改变它,例如在这个例子中:http://jsfiddle.net/Gajotres/YBSDb/

#custom-fieldset .ui-controlgroup-label { 
    text-align: center; 
} 
+0

请参阅以下内容查看单行文本和双行文本的''标记的不同行为。 http://www.apartmentslanka.com/ztest_calender/test_radio.html – 2013-04-26 12:27:50

+0

关于我的初步评论道歉实际上我现在已经删除了这个。我的意思是'.survey_form fieldset .ui-controlgroup-label {text-align:center; }' – 2013-04-26 12:40:13

+0

Sry我不明白你想说什么? – Gajotres 2013-04-26 12:47:34

0

要使用标签,似乎为JQM1.4.3工作:

<legend> 
    <div style="text-align : center;">I would this site.</div> 
</legend>