2010-03-25 12 views
14

Ich habe folgende HTML Brocken:Wie rücken Sie * jede * Zeile eines Elements <span> ein?

<span class='instruction_text'> 
    Line 1<br> 
    Line 2 
</span> 

Und die CSS-Deklaration von instruction_text ist:

.instruction_text { 
    margin-left: 70px; 
    font-style: italic; 
    color: #555; 
} 

Die erste Zeile hat eine 70px Marge wie erwartet, aber die nächste Zeile beginnt ohne Einzug. Wie kann ich ALLE Zeilen eingerückt machen?

+0

style = "display: Inline-Block; Rand: 0 50px 0 50px; arbeitete für mich – JinSnow

Antwort

13

Verwenden Sie ein Blockelement. <div> ist standardmäßig auf Blockebene, aber das Hinzufügen des CSS display:block zu Ihrer Klasse instruction_text sollte Sie in die richtige Richtung schicken.

+0

Perfekt. Danke. –

2

Die Verwendung von BR-Tags innerhalb eines SPAN-Elements ist nicht sehr sinnvoll als SPAN in einem Inline-Element, was bedeutet, dass es für den Fluss einer Textzeile oder anderer Inline-Elemente verwendet werden soll.

Sie sollten wirklich ein Element verwenden, das ein "Block" -Ebenenelement wie DIV oder P ist, z. eine, die mehrere Textzeilen (oder Inline-Elemente) enthalten soll.

Wie Sie bemerkt haben werden, können Sie einen BR-Tag in einem SPAN verwenden und es wird einen Zeilenumbruch verursachen, aber Inline-Elemente spielen nicht gut mit Margen/padding usw.

+0

Sieht aus wie jemand dort zuerst. – jonhobbs

+1

Ich vergaß 'span' war ein Inline-Element. –