2011-11-10 7 views
0

これはある種のインラインブロックマジックで行うことができると思いますか?多分?どのようにして、幅を設定せずにテキストを字下げすることなく、ボタンにスプライトを付けることができますか?

idk ..ですが、基本的にテキストとスプライトはインラインである必要があります。

は今、そうではありません:http://jsfiddle.net/DerNalia/qvZkK/2/

HTML:

<a href="" class="action_button" rel="facebox" style=""> 
    <span class="button_sprite_x"></span> 
    Delete 
</a> 
+0

テキスト(「削除」)に下線が引かれているだけですか? – thirtydot

+0

通常はこれがアンカータグテキストのデフォルトスタイルです。テキストを追加する装飾:なし;下線を取り除きます。 – NullVoxPopuli

+0

下線が決してそこに存在しないようにしますか?私はボタンがどのように見えるのか混乱しています。 – thirtydot

答えて

0

あなたのレイアウトは、あなたがそれをフロートすることができますか?

.action_button span.button_sprite_x, 
.action_button span.button_sprite_plus, 
.action_button span.button_sprite_duplicate, 
.action_button span.button_sprite_star{ 
    width: 20px; 
    height: 20px; 
    display: block; 
    float: left; /* Added float */ 
} 

http://jsfiddle.net/qvZkK/3/

UPDATE:

ああ、しかし、あなたはおそらく、スプライトがa要素の背景の範囲内になりたいです。 display: inline-blockfloat: leftの組み合わせがそうです。

.action_button { 
    display: inline-block; /* Add display: inline-block to .action_button */ 
} 

.action_button span.button_sprite_x, 
.action_button span.button_sprite_plus, 
.action_button span.button_sprite_duplicate, 
.action_button span.button_sprite_star{ 
    display: inline-block; /* And add display: inline-block here, also */ 
    float: left; /* Added float */ 
} 

http://jsfiddle.net/qvZkK/4/

+0

close ...スプライトが表示されるように設定することができますが、テーブルセルとアンカーが表示されるようになっていますが、ボタンの高さ変更されます(ボタンの高さは18、内部はスプライトで22に拡張されます)。 – NullVoxPopuli

+0

@TheLindyHopええ、ちょうどそれがおそらくあなたが望んでいたことに気づいた。更新を参照してください。 – Brent

+0

それは動作しますが、それは本当にIMOを行うための最良の方法ではありません。あなたはセマンティックではないイメージのためだけにスパンを作成しています。テキストをスパンの内側に置き、左パディングと線の高さをイメージのものと同じにします。そうすれば、物事を裏付けることについて心配する必要はありません。 – stephenmurdoch

0

は、スパン内のテキストを置く:左

  • からhttp://jsfiddle.net/qvZkK/7/

    • フロートをaタグテキストに内部<span>
    • <span> DELETE </span>すなわち削除を置きます幅から .button_sprite_xクラスと背景画像が無リピートに設定されていますが、そこからOK自分でスタイルをどのように把握することができますよう

    が見えることを確認し、それをpadding-left: 25px

  • を与えます。 PS - 見やすくするためにリンクに余白を追加しましたが、削除したいと思うかもしれません。

  • +0

    バックグラウンド位置を使用せずに、スプライトを中心にする別の方法はありますか?この質問に現在選択されている答えが原因で、私はposition:relativeを使用して、スプライト2pxを上と下からずらす必要があります。 – NullVoxPopuli

    +0

    はい、おそらく '.action_button'の行の高さと関係しています。 'line-height:20px;'を試してください。 – stephenmurdoch

    関連する問題