elementi di blocco (div
s' default tipo di visualizzazione) tenterà di recuperare lo spazio orizzontale massimo del contenitore. Immagina un implicito width:100%
ogni volta che li vedi. inline-block
creerà elementi a livello di blocco in cui l'elemento successivo tenterà di eseguire il rendering in orizzontale adiacente (a condizione che vi sia spazio sufficiente). . Questo è ciò che si desidera utilizzare (display: table
lavorerà in questa soluzione, come pure, ma ha le sue idiosincrasie li evito
Quindi la soluzione richiede tre parti:.
In primo luogo, è necessario specificare che le righe saranno non più grande di 50% della superficie disponibile potrai farlo con una cornice esterna:..
.frame {
max-width:50%;
}
successivo, i messaggi stessi dovrebbero ogni essere dato spazio intera riga (s) in un momento così utilizzeremo un tag div
non decorato attorno a ciascun messaggio.
Infine, si utilizzerà display: inline-block
per gli elementi interni più esterni messages
. Poiché sono l'unico figlio del loro tag padre, non dovrai preoccuparti di elementi che si avvolgono l'uno sull'altro. Utilizzando il blocco inline, viene rispettata la larghezza e questo ci dà un ottimo posto per applicare il colore di sfondo.
.messages {
display: inline-block;
min-width: 150px;
background: #ffeec0;
padding:2px;
margin:3px;
-webkit-border-radius: 2px;
border-radius: 2px;
border:1px solid #ffdd7c;
}
Proprio come un riferimento, ci si aspetterebbe il vostro codice sarà simile alla seguente:
<div class="frame">
<div><div class="messages">2014</div></div>
<div><div class="messages">2014</div></div>
<div><div class="messages">
2014-09-20 17:46:41 minhavidaemquotes:555
</div></div>
<div><div class="messages">
2014-09-20 17:46:41 minhavidaemquotes:555 this is some extra
text
</div></div>
</div>
penso che troverete questo ti dà l'effetto desiderato. A proposito, questa è una soluzione generale, ma se scegli uno min-width
più grande di 50%
, ti assicurerai che due fratelli di tipo inline-block
siano troppo larghi per una linea. Se si esegue questa operazione, è possibile fare a meno del supplemento div
nel markup.
abbassare la larghezza minima per dire 10em e utilizzare il display: blocco in linea; – dandavis