2011-10-14 16 views
6

Mam html strukturę tak:Wyświetlacz: stół i text-align prawo nie działa

<div class="campain"> 
    <div class="campainText"> 
     <a href="#"><h2>Ny app til iPhone og iPad</h2></a> 
     <a href="#"><h2>Tips og vinn</h2></a> 
    </div> 
    <div class="campainPicture"> 
     Picture goes here 
    </div><div class="clear"></div> 
</div> 

A ja lubię campainText być tuż-align. Parametr css dla tego elementu jest następujący:

font-family: 'Spinnaker', sans-serif; 
font-size: 17px; 
color: #FFFFFF; 
background-color: #A2AD00; 
display: table; 
padding: 4px; 
margin: 4px 4px 4px 4px; 
text-decoration: none; 

Wiem, że działa reszta css. Problem polega na tym, że tekst jest wyrównany do lewej, jeśli uwzględnię opcję tabeli w polu wyświetlania. Zaraz po usunięciu tego działa zgodnie z oczekiwaniami. Czy są jakieś obejścia tego problemu, czy też muszę używać znaczników display: inline i <br />?

Odpowiedz

13

Fiddle: http://jsfiddle.net/xbNCZ/

"Stół + text-align:right nie działa", ponieważ element tabeli nie rozciągnąć do pełnej szerokości domyślnie. Dodaj width:100%, aby uzyskać pożądany wynik.

Before/After ustawienie width:100%.

+1

Aby wyrównanie tekstu działało, należy ustawić szerokość elementu, ale dowolna szerokość będzie wystarczająca, niekoniecznie musi wynosić 100%. –

+0

@ Jan-Henk Mniejsze szerokości nie przyniosą pożądanego rezultatu. OP zażądał szerokości równej rozmiarowi zwykłego elementu 'div', który wynosi' 100% '. –

+0

Właśnie dodałem ten komentarz jako notatkę boczną, aby wyjaśnić, dlaczego właściwość text-align nie działa, a to dlatego, że nie ustawiono żadnej szerokości. Masz rację, że PO potrzebuje szerokości 100%. –

Powiązane problemy