2009-01-26 8 views
24

Więc mam DIV, który zawiera jakiś tekst dynamiczny. Powiedzmy, że znam tekst i rozmiar czcionki, ale nie znam rozmiaru DIV. Chciałbym, aby wyświetlanie tekstu w DIV było wystarczająco inteligentne, aby pokazać wcięcie, gdy tekst się zawija.Jaki jest najlepszy sposób wcięcia tekstu w DIV, gdy się zawija?

Say mój oryginalny tekst wyglądał mniej więcej tak:

 
Lorem ipsum dolor sit amet, 
consectetur adipisicing 
elit, sed do eiusmod 
tempor incididunt 

Zamiast tego chcę, żeby wyglądać tak:

 
Lorem ipsum dolor sit amet, 
    consectetur adipisicing 
    elit, sed do eiusmod 
    tempor incididunt 

Jaki jest najlepszy sposób, aby to zrobić, jeśli nie wiem wielkość DIV a priori? I jaki jest najlepszy sposób, aby to zrobić, jeśli znam rozmiar?

Dzięki!

Odpowiedz

36

Jeśli rozumiem o co pytasz o to działa na mnie:

div { 
    padding-left: 2em; 
    text-indent: -2em; 
} 
+2

miałem też dodać "display: inline-block;" żeby to działało dla mnie. – Robert

+1

To powinna być zaakceptowana odpowiedź. – WebWanderer

+0

OP nie jest z powrotem od 2010 roku. Może się nie zdarzyć ... –

0

ten powinien działać równie dobrze na obu DIV zmiennym i stałym rozmiarze.

<div style="width: 150px; text-indent: -2em; padding-left: 2em;"> 
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
    incididunt. 
</div> 
+0

Testowałem kod na Firefox 3 i IE7 i wydaje się, że renderuje się on doskonale na obu. – Noldorin

5

Nie pewny wsparcia cross-browser, ale można użyć first-line pseudo-element:

p {padding:10px;} 
p:first-line {padding-left:0px;} 

<p>Hello World, I'm Jonathan Sampson</p> 

Lepiej być diplayed jak

Hello World Jestem
        Jonathan
        Sampson

Poza tym można nadać elementowi lewostronne, a następnie negatywne wcięcie tekstowe.

6

W3C mówi, że musisz użyć właściwości wcięcia tekstu.

source

.indentedtext 
{ 
    text-align:start; 
    text-indent:5em; 
} 
+0

Obsługiwany w IE6? –

+0

W3Schools twierdzą, że działa od IE4 źródło: http://www.w3schools.com/css/css_text.asp Niektóre strony w Internecie sugerują, aby poprawnie wprowadzić tekst w IE6, aby zastosować go z wyrównaniem tekstu: lewo; i wyświetlacz: blok; –

Powiązane problemy