2009-04-02 12 views
13

Szukam użyć pustego elementu div do wyświetlenia obrazu tła, ale nic nie jest wyświetlane, chyba że wstawię coś (to znaczy jakiś tekst) do elementu div.Uzyskiwanie obrazu tła do wyświetlania w pustym elemencie div

Muszę to zrobić, ponieważ chcę wyświetlić grafikę obok tekstu, ale grafikę należy ustawić pionowo w stosunku do tekstu.

Jak uzyskać obraz tła do wyświetlenia w pustym dziale?

Moje Google-fu mnie zawiodło.

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

Dzięki!

edytuj: Poniższy kod faktycznie wyświetla obraz, ale wystarczy go nanieść w dół jak 2 lub 3 piksele, aby idealnie go dopasować.

To właśnie próbuję osiągnąć, jakieś pomysły?

<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

lol, Google-fu: D – chosta

Odpowiedz

8

Daj temu szansę!

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

Jeśli używasz div zamiast span, musisz ustawić display: inline w stylu, jak również.

+0

Jeśli pozbywam się wyświetlania: elementu śródliniowego, element div nie jest wyświetlany w tym samym wierszu, co tekst, który próbuję wyrównać. – Tom

+0

Masz rację - zaktualizowałem to, ponieważ dzięki metodzie, która zadziała dla Ciebie. (Czy powinienem dodać inną odpowiedź?) – jyustman

+0

To zadziała, ale tekst "dwa" pokazuje, myślę, że mógłbym uczynić tekst tym samym kolorem co tło? – Tom

2

Tło powinno być na photoInfo div, można umieścić go background-position. Nie możesz mieć tła na czymś, co jest 0 wysokością i szerokością. Jeśli ją zwiększysz, zajmie to trochę miejsca na twoim projekcie.

+0

próbowałam, że dobrze. Element div elementu photoInfo to 100% szerokości mojego kontenera, więc jeśli podaję brak powtórzeń i lewo lub w prawo, to jest on po lewej lub prawej stronie ekranu, gdy tekst jest wyśrodkowany. Potrzebuję go bezpośrednio po prawej stronie wyśrodkowanego tekstu. – Tom

1

overflow:hidden może pomóc lub przypisać długość i szerokość do elementu div.

Ogólnie sądzę, że istnieją inne sposoby osiągnięcia tego, co chcesz. Jeśli chcesz mieć tylko wyrównany tekst i obrazek w poziomie, możesz to zrobić bez umieszczania obrazu w obrazie div. Na przykład możesz użyć inline i float.

+0

Problem polega na tym, że tekst znajduje się w elemencie div, który jest 100% szerokości kontenera ekranu.Tekst jest również wyśrodkowany i potrzebuję obrazu bezpośrednio po prawej stronie tekstu, wyrównanego pionowo. Uniesienie go L lub R nie pomoże i dodanie dopełnienia lub marginesu do stylu obrazu lub samego obrazu ... – Tom

+0

... nie działa tak, jak wypycha całość. – Tom

+0

następnie zawiń tekst i obraz do elementu div, który jest następnie wyśrodkowany na stronie – markus

5

Musisz podać rozmiar div, w przeciwnym razie jego rozmiar to 0px x 0px.

+4

Próbowałem podając div wymiary obrazu i to nie działa. – Tom

4

Tanie praca-aroound. wstaw w polu div spację bez przerw (& nbsp;).

+0

Tak, próbowałem to bezskutecznie. – Tom

3

Jeśli nie chcemy żadnego tekstu, to działa w Safari i Firefox (nie testowałem IE):

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

0

Starasz się przenieść obraz tła bez przesuwania div?

Spróbuj background-position: xpos ypos;

Aby przesunąć go w dół 3 piksele: background-position: 0px 3px;

Powiązane problemy