2017-02-24 3 views
3

Gibt es eine CSS-Eigenschaft/Lösung, die die Notwendigkeit eines <br> zwischen jedem <span> verhindert?Zeilenumbrüche entfernen, ohne Blöcke zu erstellen

Zum Beispiel, anstelle von:

HTML 
<span>a</span> 
<br> 
<span>b</span> 
<br> 
<span>c</span> 

Haben Sie etwas wie folgt aus:

CSS 
span{break-line:true} 

    HTML 
<span>a</span> 
<span>b</span> 
<span>c</span> 

Ich weiß, ich display:block verwenden kann, aber ich will nicht die Spanne der Größe ändern.
Ein Beispiel dafür, warum das schlecht wäre, ist der Hintergrund der Spannweite.

+0

Wie @Yousaf sagt, ist es besser, ein Element auszuwählen, das standardmäßig block ist. –

+0

Ich fühle mich dumm, warum niemand schlägt 'Span { Anzeige: Block; } '? – Goose

+1

@Goose lesen Sie die letzte Zeile der Frage – j08691

Antwort

2

Sie Schwimmer und klar auf sie verwenden können:

span { 
 
float: left; 
 
clear: both; 
 
background: #ddd; 
 
}
<span>a</span> 
 
<span>b</span> 
 
<span>c</span>

2

Sie das :after Pseudoelement mit white-space: pre;

span:after { 
 
    content: '\A'; /* a newline */ 
 
} 
 
span { 
 
    white-space: pre; 
 
}
<span>a</span> 
 
<span>b</span> 
 
<span>c</span>
können

+1

Beste Antwort. Im Gegensatz zu Johannes 'Antwort und anderen Alternativen wie der Anwendung von 'display: table' auf den Bereich, wird dadurch keine latente Breiteneigenschaft auf den Bereich angewendet. – Alohci

Verwandte Themen