0

私は少しJQueryMobileNoobであり、これに対する答えを探していましたが、役に立ちませんでした。5つのカスタムデータアイコンを使用してui-navbarを作成しました。問題は、5つのリンクのいずれかを選択すると、選択したリンクの左側にあるボタンが選択したアイコンになります。また、ul-listview要素の右矢印は、見づらいですが、選択したアイコンになります。選択したデータアイコンであるかどうかを確認するために、Firebugを使用してそれを展開する必要がありました。

フッターのナビゲーションバーに使用しているコードは次のとおりです。

<div data-role="footer">
    <div data-role="navbar" class="nav" data-grid="d">
        <ul>
            <li><a href="#programas" id="programas" data-icon="custom">Programas</a></li>
            <li><a href="#noticias" id="noticias" data-icon="custom">Noticias</a></li>
            <li><a href="#radio" id="radio" data-icon="custom">Radio</a></li>
            <li><a href="#eventos" id="eventos" data-icon="custom">Eventos</a></li>
            <li><a href="#more" id="more" data-icon="custom">More</a></li>
        </ul>
        </div> 
</div>

そしてCSSのいくつか:

.nav .ui-btn .ui-btn-inner {
padding-top: 40px !important;
}
.nav .ui-btn .ui-icon {
width: 45px!important;
height: 35px!important;
margin-left: -24px !important;
box-shadow: none!important;
-moz-box-shadow: none!important;
-webkit-box-shadow: none!important;
-webkit-border-radius: none !important;
border-radius: none !important;
}
#programas .ui-icon {
background-image: url(images/nav.png);
background-position: 0 0;
background-repeat: no-repeat;
}

なぜこれが起こっているのか考えていますか?それは私が思う私のスタイルと何かでなければなりません。

4

1 に答える 1

1

名前ui-iconのみを使用しないでください。代わりにui-icon-somethingを使用してください。カスタム アイコンに関するドキュメントも参照してください。

カスタム アイコン

カスタム アイコンを使用するには、myapp-email のような一意の名前を持つ data-icon 値を指定します。ボタン プラグインは、data-icon 値の前に ui-icon- を付けてクラスを生成し、それをボタンに適用します: ui-icon -myapp-メール。

その後、ui-icon-myapp-email クラスを対象とする CSS ルールをスタイルシートに記述して、アイコンの背景ソースを指定できます。残りのアイコンとの視覚的な一貫性を維持するには、18x18 ピクセルの白いアイコンを作成し、アルファ透明度を持つ PNG-8 として保存します。

この例では、スタンドアロンのアイコン イメージを指しているだけですが、フレームワークで使用するアイコン スプライトと同様に、代わりにアイコン スプライトを使用して配置を指定することも簡単にできます。

.ui-icon-myapp-email {
    background-image: url("app-icon-email.png");
}

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
 <script src="jquery-1.8.0.min.js"></script>
 <script src="jquery.mobile-1.2.0.min.js"></script>

 <style>
  .ui-icon-taifun {
    background-image: url("taifun.png");
  }

  .nav .ui-btn .ui-btn-inner {
    padding-top: 40px !important;
  }

  .nav .ui-btn .ui-icon-taifun {
    width: 45px!important;
    height: 35px!important;
    margin-left: -24px !important;
    box-shadow: none!important;
    -moz-box-shadow: none!important;
    -webkit-box-shadow: none!important;
    -webkit-border-radius: none !important;
    border-radius: none !important;
  }

  #programas .ui-icon-taifun {
    background-image: url(taifun.png);
    background-position: 0 0;
    background-repeat: no-repeat;
  }
 </style>

 <title>Test</title>
</head>

<body>
  <div data-role="page">
    <div data-role="content">
      <div data-role="collapsible" data-collapsed-icon="taifun" data-expanded-icon="taifun" data-inset="false">
        <h2><img src="favicon.ico"> Pets</h2>
        <ul data-role="listview">
          <li><a href="index.html">Canary</a></li>
          <li><a href="index.html">Cat</a></li>
          <li><a href="index.html">Dog</a></li>
        </ul>
       </div><!-- /collapsible -->
       <div data-role="collapsible" data-collapsed-icon="taifun" data-expanded-icon="taifun" data-inset="false">
         <h2><img src="favicon.ico"> Farm animals</h2>
         <ul data-role="listview">
           <li><a href="index.html">Chicken</a></li>
           <li><a href="index.html">Cow</a></li>
           <li><a href="index.html">Duck</a></li>
         </ul>
      </div><!-- /collapsible -->
    </div>

  <div data-role="footer">
    <div data-role="navbar" class="nav" data-grid="d">
        <ul>
            <li><a href="#programas" id="programas" data-icon="custom">Programas</a></li>
            <li><a href="#noticias" id="noticias" data-icon="custom">Noticias</a></li>
            <li><a href="#radio" id="radio" data-icon="custom">Radio</a></li>
            <li><a href="#eventos" id="eventos" data-icon="custom">Eventos</a></li>
            <li><a href="#more" id="more" data-icon="custom">More</a></li>
        </ul>
    </div>
  </div>

  </div>

</body>
</html>

スクリーンショット
スクリーンショット

于 2012-10-28T00:30:24.790 に答える