2009-04-02 14 views
13

空白のdiv要素を使用して背景イメージを表示しようとしていますが、div要素に何か(何らかのテキスト)を入れない限り表示されません。空のdiv要素に表示する背景イメージを取得する

テキストの横にグラフィックを表示し、テキストをテキストと垂直に揃えたいので、これを行う必要があります。

空白のdivに背景画像を表示するにはどうすればよいですか?

私のGoogle-fuは失敗しました。

<div class="photoInfo"> 
lorem ipsum | 
<div style="background:url('foo.gif') no-repeat;display:inline;"></div> 
</div> 

ありがとう!

編集: 以下のコードは実際に画像を表示していますが、完全に整列させるには2〜3ピクセルのようにニックネーする必要があります。

これは私が達成しようとしているアイデアです。

<div class="photoInfo"> 
    Added<span class="spacer">•</span>Wed Apr 01, 2009 1:01 pm<span class="spacer">•</span>64.10 KB<span class="spacer">•</span>659x878 pixels 
    <span class="spacer">•</span> 
    <img src="/_assets/img/icons/new-photo-small.gif" /> 
</div> 
<!--<div style="height:14px;width:31px;background:url('') no-repeat 0px 5px;display:inline-block;"></div>--> 

.photoInfo 
{ 
font-size:0.6em; 
color:#b0bad9; 
padding-bottom:15px; 
text-align:center; 
} 
+0

は3つのピクセルを、それを下に移動するにはbackground-position: xpos ypos;

を試してみてくださいD – chosta

答えて

8

これを打つ!あなたの代わりにspandivを使用する場合は

one | <span style="padding-left: 20px; background: url('16x16-image.gif') no-repeat; height: 16px">two</span> | three 

、あなたにもスタイルにdisplay: inlineを設定する必要があります。

+0

display:inline要素を削除した場合、div要素は、それを整列しようとしているテキストと同じ行には表示されません。 – Tom

+0

あなたはそうです - 私はあなたのために働く方法で以来これを更新しました。 (代わりに別の答えを追加する必要がありますか?) – jyustman

+0

それはうまくいくでしょうが、 "two"というテキストが表示されていると、私はテキストを背景と同じ色にすることができましたか? – Tom

2

背景がphotoInfo divにする必要があり、あなたはbackground-positionでそれを配置することができます。 0の高さと幅の背景を持つことはできません。あなたがそれを増やしても、それはあなたのデザイン上のスペースを占めるでしょう。

+0

は、私は同様にすることを試みました。 photoInfo div要素はコンテナの幅の100%です。したがって、ノーリピートと左または右を指定すると、テキストが中央に表示されている間は画面の左または右に表示されます。私は中心のテキストの右に直接それが必要です。 – Tom

1

overflow:hidden divに長さと幅を割り当てることができます。

一般に、私はあなたが望むものを達成するための他の方法があると思います。テキストと画像を水平に整列させたい場合は、画像をdivに入れないでそれを行うことができます。たとえば、inlinefloatを使用できます。

+0

問題は、テキストが画面コンテナの幅の100%であるdiv要素内にあることです。テキストも中央揃えされていますので、テキストの右に直接イメージが必要です。 LまたはRをフローティングにすると、画像スタイルや画像自体に余白や余白が追加されることはありません。 – Tom

+0

...全体を押し込むようにも機能しません。 – Tom

+0

次に、div内にテキストと画像を折り返して、ページの中央に配置します。 – markus

5

divにサイズを指定する必要があります。そうでなければサイズは0px x 0pxです。

+4

divの画像のサイズを指定しようとしましたが、動作しません。 – Tom

4

安価な仕事です。 divに非改行スペース(& nbsp;)を入れてください。

+0

ええ、私は無駄にしようとしました。 – Tom

3

あなたが任意のテキストを使用しない場合、これはSafariとFirefoxで動作します(IEをテストしていない):

one | <span style="padding: 16px 16px 0 0; background: url('16x16-image.gif') no-repeat; font-size: 0">&nbsp;</span> | three

0

あなたはdiv要素を移動せずに背景画像を移動しようとしていますか? Googleの-FU、笑background-position: 0px 3px;

関連する問題