2017-12-26 7 views
-3

Ich versuche, einen CSS-Zeilenumbruch in Szenario 1, aber nicht in Szenario 2 zu erzeugen. In beiden Fällen wird Text dynamisch aus einer Datenbank bezogen Ich weiß also nicht a priori, wie lange der erste Satz sein wird.CSS-Zeilenumbruch, wenn Text eine Zeile ist, aber keine Pause wenn mehr als 1 Zeile

Szenario 1:

This is the first sentence of a block. 
This is the second sentence of the block, which is wide. 

Szenario 2:

This is the first sentence of the next example that 
breaks. This is the second sentence of the block, which 
is wide. 

Ist dies möglich, mit nur CSS? Ich löse dies derzeit durch JS-Code, der auf der Fenstergröße läuft, aber das ist langsam.

Bearbeiten: Klären Sie, dass dies für dynamische Textlängen funktionieren sollte.

Antwort

0

Setzen Sie einfach Sätze im ersten Szenario und stellen eine feste Breite für den Text Container im zweiten Szenario wie so blockiert werden:

.scenario1 { 
 
    width: 100%; 
 
} 
 

 
.scenario1 span { 
 
    display: block; 
 
} 
 

 
.scenario2 { 
 
    width: 400px; 
 
}
<div class="scenario1"><span>This is the first sentence of a block.</span> 
 
<span>This is the second sentence of the block, which is wide.</span></div> 
 
<br /> 
 
<div class="scenario2">This is the first sentence of the next example that breaks. This is the second sentence of the block, which is wide.</div>

+0

Sorry, vergaß zu erwähnen, dass ich don kenne die Länge der Sätze zur Entwurfszeit nicht. Der Beitrag wurde aktualisiert. Ich kann jedoch Sätze auf der Server-Seite teilen und die erste in einen separaten Bereich einfügen. –

+0

Sie wollen also im ersten Szenario nach jedem Satz einen Zeilenumbruch erzeugen? Aber im zweiten Szenario wollen Sie keine Zeilenumbrüche nach jedem Satz, nur nach einer bestimmten Breite. Habe ich recht? –

+0

Ich möchte einen Zeilenumbruch nach dem ersten Satz, wenn der erste Satz in seiner Gesamtheit eine Zeile oder weniger belegt. Wenn es mehr als eine Zeile braucht, möchte ich keine Pause machen. –

Verwandte Themen