2013-07-31 9 views
8

Gibt es eine Möglichkeit, einen Zeilenumbruch nach einem div mit CSS zu verhindern, aber eine div min Breite und die andere maximale Breite zu haben?So entfernen Sie Zeilenumbrüche nach DIV in CSS

Zum Beispiel habe ich

<div class="label">My Label:</div> 
<div class="text">My text</div> 

und wollen es wie angezeigt werden:

My Label: My text 

Wo Mein Text schwebt rechts, und mein Label nimmt die ganze verbleibende Breite?

ich folgende CSS verwenden, aber die .text div hält Verpackung:

div 
{ 
    display: inline-block; 
} 

.label { 
    border:1px solid blue; 
    width:100%; 
} 

.text { 
    border:1px solid red; 
float:right; 
} 

** UPDATE: JS FIDDLE *http://jsfiddle.net/jPrMG/

Danke für Ihre Hilfe

+0

Sie müssen, um sie von ändern zu 'block' Elementen' Inline-block' Elemente wie so http://jsfiddle.net/E537f/ – user1477388

+0

Wie kann ich den .label div so einstellen, dass er die ganze Bildschirmbreite einnimmt, während der .text div nach rechts geschoben wird? – alias51

+0

Gefällt mir? http://jsfiddle.net/E537f/3/ – user1477388

Antwort

8

können Sie CSS-Tabellenmodell verwenden:

.label { 
    border:1px solid blue; 
    display: table-cell; 
    width: 100%; 
} 

.text { 
    border:1px solid red; 
    display: table-cell; 
    white-space: nowrap; 
} 

Fiddle

15

Es ist nicht ein 'Zeilenumbruch', den Sie sehen; Es ist, weil <div> Elemente standardmäßig ein block Element sind.

Wenn Sie das Verhalten ändern wollen, so dass sie auf der gleichen Zeile angezeigt wird, können Sie die display Eigenschaft in CSS ändern, etwa so:

display:inline; 

oder

display:inline-block; 

Wenn Sie noch wollen width oder min-width Eigentum haben (wie in der Frage angegeben) dann würden Sie die letztere von diesen zwei, inline-block benötigen.

Hoffe, dass hilft.

+0

Es tut, aber es löst nicht das Wrapping-Problem, vor dem ich stehe. Siehe hier: http://jsfiddle.net/jPrMG/ – alias51

+0

@ alias51 - in der Geige, entfernen Sie einfach die 'width: 100%' von der Bezeichnung. Wie es aussieht, dehnt es das Etikett die volle Breite über den Bildschirm aus, so dass das nächste Element natürlich auf die nächste Zeile hinunter bewegt wird. – Spudley

+0

oder Sie könnten einfach 'float: left' und' float: right' für das Label und das Feld verwenden. – Spudley

Verwandte Themen