2016-05-12 20 views
9

Ho alcune domande riguardanti le classi multimediali in bootstrap.Perché la classe media-body nel bootstrap ha larghezza 10.000px e la classe media ha overflow nascosto e zoom 1?

  1. Perché la classe .media-body nel bootstrap ha una larghezza di 10.000 pixel? Perché hanno usato display: table-cell non display: block?
  2. Perché è overflow: hidden e zoom: 1 utilizzato nella classe .media?
  3. Perché il div con .media-body ha effettivamente una larghezza di 10.000 px?
  4. Cosa accadrebbe se overflow: hidden e zoom: 1 non vengono utilizzati nella classe .media?

Per quanto riguarda il mio sforzo, ho rimosso overflow, zoom e 10,000px larghezza e osservata alcuna differenza.

risposta

2

ho trovato alcuni commenti della collezione "Responsive Bootstrap":

/* 
* 1. Create new block formatting context in modern browsers 
* 2. Avoid shrink-wrap behaviour of table-cell 
* 3. Override for IE6/7 
* 4. Create new block formatting context in IE6/7 
* Alternatively, use 'overflow:hidden' if clipping is OK 
*/ 
display: table-cell; /* 1 */ 
width: 10000px; /* 2 */ 
@include old-ie() { 
    *width: auto; /* 3 */ 
    *zoom: 1; /* 4 */ 
} 

UPD

*zoom è un hack per IE6 e IE7. Tutti i browser ignorano gli attributi che iniziano con un asterisco. Solo IE7 e sotto li tiene in considerazione.

+2

Potresti dare qualche spiegazione per questi punti? Come è il comportamento _shrink-wrap_? Qual è la differenza tra '* zoom' e' zoom'? – user31782

+0

@ user31782 '* zoom' è un trucco per IE6 e IE7. Tutti i browser ignorano gli attributi che iniziano con un asterisco. Solo IE7 e sotto li tiene in considerazione. –

+1

Ma nel mio 'bootstrap.css' non stanno usando' * zoom' nella classe '.media'. È la riga 5207 del file sorgente. Hanno scritto '.media-body { overflow: nascosto; zoom: 1; } ' – user31782