3

私はクライアント用のアプリに取り組んでおり、完全にカスタムのアイコンでボタンを作成しようとしています。アイコンは 30px x 30px で、中央が透明です。

このcssコードを使用して、私が望むものをほぼ達成しました:

/* info button override */
.ui-icon-info-page {
    background: url(images/G_help_icon_round.png) 50% 50% no-repeat;
    background-size: 30px 30px;
    background-color: black;
}

ただし、アイコンの内側に薄い黒い円が表示され、アイコンの画像が切り取られているように見えます。

ここに画像の説明を入力

このサークルを削除してアイコンを防止したいですか? 断ち切られることから。また、下のナビゲーション バーの画像を表示するために、クエスチョン マークを黒ではなく透明にしたいと考えています。ただし、背景色を透明に設定しようとすると、ボタンは完全に白く表示されます。

ここに画像の説明を入力

これどうやってするの?

アップデート:

このコードを適用してみました:

/* info button override */
.ui-icon-info-page {
    background: url(help.png) 50% 50% no-repeat;
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    margin-top: -15px !important;
    box-shadow: none;
    -webkit-box-shadow: none;
}

そして、この結果を得ました:

ここに画像の説明を入力

上部と左の余白を調整してアイコンを移動できますが、黒い円の中心にあるフレームの外側で端が切り取られています。

ここに画像の説明を入力

更新 2:

これが私が使用しているボタンです(白い背景に白いボタンであるため、ここでは見えないことに注意してください):

ここに画像の説明を入力

ボタンをロードするために使用するhtmlコードは次のとおりです。

<div data-role="header" data-position="fixed"> 
            <div><img border="0" src="images/G_iphone_navbar_logo.png" style="display:inline;"/> </div>          
            <a href="index.html" data-icon="refresh" class="ui-btn-left" data-transition="fade" data-iconpos="notext" data-theme="a"></a>
            <a href="info.html" data-icon="info-page" class="ui-btn-right" data-transition="flip" data-iconpos="notext" data-theme="a"></a>

</div>
4

1 に答える 1

7

これで問題が解決するはずです

/* info button override */
.ui-icon-info-page {
    background: url(help.png) 50% 50% no-repeat;
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    margin-top: -15px !important;
    box-shadow: none;
    -webkit-box-shadow: none;
}

jquery mobile css の後に、アプリケーションの css ファイルをロードしていることを確認してください。

編集:これは、問題を修正して投稿したコードに基づくサンプルコードです

<!DOCTYPE html>
<html>
    <head>
        <title>Page Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
        <style>
            #rightBtn .ui-btn-inner {
                width: 30px;
                height: 30px;
                margin: -3px;/*Modify to change icon position wrt the header*/
                border: none !important;
            }
            .ui-icon-custom {
                background: url(http://i.stack.imgur.com/AqicD.png) 50% 50% no-repeat;
                background-size: 30px 30px;
                width: 30px;
                height: 30px;
                box-shadow: none;
                -webkit-box-shadow: none;
                margin: 0 !important;
            }
        </style>
    </head>
    <body>
        <div data-role="header">
            <h1>Page Title</h1>
            <a href="index.html" data-icon="refresh" class="ui-btn-left" data-transition="fade" data-iconpos="notext" data-theme="a"></a>
            <a href="info.html" id="rightBtn" data-icon="custom" class="ui-btn-right" data-transition="flip" data-iconpos="notext" data-theme="a"></a>
        </div><!-- /header -->

        <div data-role="content"></div><!-- /content -->

        </div><!-- /page -->

    </body>
</html>

デモはこちら - http://jsfiddle.net/LCsmt/

それが役立つかどうか教えてください。

于 2012-05-13T17:00:30.563 に答える