2013-06-12 19 views
6

Ho una semplice struttura HTML che assomiglia:Come posso rendere il testo di questo div wrap?

<div class="container"> 
    <div class="caption"> 
     <div class="title">This is a very, very long title!!!</div> 
     <div class="details">Details</div> 
    </div> 
    <div class="content"></div> 
</div> 

ho Styled questo modo molto semplice:

.container { 
    min-width: 200px; 
} 
.caption { 
    overflow: hidden; 
} 
.title { 
    float: left; 
} 
.details { 
    float: right; 
} 
.content { 
    height: 200px; 
    background-color: #c0c0c0; 
} 

che assomiglia a:

css-example

Se rifuggo la finestra abbastanza alla fine il div "dettagli" si avvolgerà alla riga successiva:

css-example2

Quello che vorrei per accadere è il testo all'interno del div involucro "titolo" alla riga successiva, ma mantenere entrambi "titolo" e "dettagli" presso la stessa linea (non da imballaggio).

Qualcosa di simile:

This is a very, very   Details 
long title!!! 
+----------------------------------+ 

Con il titolo solo avvolgendo una volta non c'è abbastanza spazio, come la finestra viene ridimensionata.

Qualcuno può indicarmi la direzione giusta per raggiungere questo obiettivo?

Here is a jsFiddle of the above code if anyone is interested.

Modifica: Per chiarire, vorrei non specificare una larghezza fissa per .title se possibile. Nella maggior parte dei casi mi piacerebbe lasciare che questo div divenga largo quanto ha bisogno.

+0

'.title {max-width: 200px;/* o qualunque * /} '? –

+0

È possibile farlo senza specificare una larghezza/larghezza massima? Preferirei lasciare che la larghezza diventi ampia quanto necessario. Nella maggior parte dei casi, la finestra e il titolo saranno piuttosto grandi. Forse una larghezza minima farebbe il trucco? – KingNestor

+0

Per curiosità, quale browser stai usando? – Dom

risposta

0

Upate il vostro div Titolo come segue e avvolgerà il testo.

.title 
{ 
    float: left; 
    width: 100px; //or whatever you want 
} 

o

.title 
{ 
    float: left; 
    width: 20%; //or whatever you want 
} 
+0

Mi piacerebbe non specificare una larghezza fissa per questo div se possibile. Questa finestra può essere espansa per essere piuttosto ampia e questo potrebbe tagliare le etichette a una lunghezza arbitraria. – KingNestor

+0

metti la percentuale Ho una risposta aggiornata. – Guanxi

+0

percentuale di utilizzo, ad es. '.title {width: 40%; } '' .dettagli {larghezza: 58%; } ' – hmhcreative

2

questo dovrebbe funzionare:

http://jsfiddle.net/KV8UW/

<div class="container"> 
<div class="caption"> 
    <div class="details">Details</div> 
    <div class="title">This is a very, very long title!!!</div> 
</div> 
<div class="content"></div> 

.container { 
    min-width: 200px; 
} 
.caption { 
    overflow: hidden; 
} 
.details { 
    float: right; 
} 
.content { 
    height: 200px; 
    background-color: #c0c0c0; 
} 
1

utilizzare il display per il layout: http://jsfiddle.net/3nBDd/15/

.caption { 
    display:table; 
    width:100%; 
} 
.title { 
    display:table-cell; 
    text-align: left; 
} 
.details { 
    display:table-cell; 
    text-align right; 
} 
Problemi correlati