7

jquery mobile を使用してデモを行っています... localnav の幅を 100% にしたいのですが... その方法がわかりません... ここにコードを書いてください...

<ul data-role="controlgroup" data-type="horizontal" class="localnav">
    <li><a href="#" data-role="button" data-transition="fade" class="ui-btn-active">111</a></li>
    <li><a href="#" data-role="button" data-transition="fade">222</a></li>
    <li><a href="#" data-role="button" data-transition="fade">333</a></li>
</ul>

助けてください...ありがとう...

4

4 に答える 4

5

これが私がしたことです。うまくいきました。

CSS:

<style>
    .ui-grid-a, .ui-grid-a .ui-controlgroup-controls {width: 100%}
    #homePageButton {width:49%;float:left;margin-left:1%}
    #logOutButton {width:49%}
    #footer {height:45px}
</style>

HTML:

<div data-role="footer" data-position="fixed" id="footer">
    <div data-role="controlgroup" data-type="horizontal" class="ui-grid-a">
        <a href="#" data-role="button" data-icon="home" id="homePageButton">Home Page</a>
        <a href="#" data-role="button" data-icon="forward" data-iconpos="right" id="logOutButton">Log Out</a>
    </div>
</div>

結果: ここに画像の説明を入力

于 2013-09-05T19:12:55.283 に答える
5

JQuery Mobile の navbarを見てみましょう 通常はヘッダー/フッターで使用されますが、他の場所でも使用できます。ボタンを含む全幅のバーが生成されます。

       <div data-role="navbar">
            <ul>
                <li><a href="#" data-icon="plus" data-role="button">Button1</a></li>
                <li><a href="#" data-icon="minus" data-role="button">Button2</a></li>
                <li><a href="#" data-icon="check" data-role="button">Button3</a></li>
            </ul>
        </div>
于 2012-12-30T17:35:03.587 に答える
2

コントロールグループとしてラップしようとしている理由がわかりません<ul>。ただし、次のアプローチで全幅の ControlGroup を使用できます。

<div data-role="controlgroup" data-type="horizontal" class="localnav">
    <a href="#" data-role="button" data-transition="fade" class="ui-btn-active">111</a>
    <a href="#" data-role="button" data-transition="fade">222</a>
    <a href="#" data-role="button" data-transition="fade">333</a>
</div>

<a>CSS では、幅を要素の数に均等に分割します。

a{width:33%;}

サンプル jsfiddle: http://jsfiddle.net/pAuqm/1/

<ul>ベース構造を継続したい場合。次の CSS を使用して、全幅のコントロールグループを作成できます。

li{
    display: inline;
}
a{width:33%;}

サンプル jsfiddle: http://jsfiddle.net/pAuqm/3/

于 2012-06-07T09:49:35.610 に答える
1

これを行うためにグリッドを使用し、追加の CSS ルールを 1 つ使用しています。

.ui-controlgroup-horizontal > div > .ui-btn {
    width: 99%
}​​​​​​​​​ 

私がこれを行っている理由は、次のようなマークアップです。

<div class="ui-grid-a" data-role="controlgroup" data-type="horizontal">
    <div class="ui-block-a">
         <button type="submit" data-theme="c">Cancel</button>
    </div>
    <!-- etc -->
</div>

jquery によって次のようなマークアップに変換されます (Chrome または Firebug で調べます)。

   <div class="ui-grid-a ui-corner-all 
       ui-controlgroup ui-controlgroup-horizontal" 
       data-role="controlgroup" data-type="horizontal">
       <div class="ui-block-a">
           <div data-corners="true" data-shadow="true" 
             data-iconshadow="true" data-inline="null" 
             data-wrapperels="span" data-icon="null" data-iconpos="null" 
             data-theme="c" data-mini="false" 
             class="ui-btn ui-btn-up-c ui-corner-left" 
             aria-disabled="false">
               <span class="ui-btn-inner ui-corner-left">
                   <span class="ui-btn-text">Cancel</span>
               </span>
               <button type="submit" data-theme="c" class="ui-btn-hidden" aria-disabled="false">Cancel</button>
           </div>
       </div>
       <!-- etc -->
   </div>

ご覧のとおり、.ui-btn幅を 100% にしたい は内側ui-block-a(またはui-block-bui-block-cなど) であり、水平方向のコントロール グループはクラス を取得している.ui-controlgroup-horizontalため、ルール:.ui-btnの子のdivs子は.ui-controlgroup-horizontal(ほぼ) 100% になります。これにより、右側のボタンの角が丸くなってしまうため、100% に達しません。.ui-controlgroup-horizontal(say) ではなくトップクラスで使用することによりui-grid-a、このルールはさまざまなグリッドサイズで機能します。

于 2012-07-31T20:30:01.707 に答える