Sto tentando di aggiungere il riempimento a un elemento all'interno di un elemento display:flex
. Quando il padding è definito come percentuale, non viene visualizzato in Firefox, sebbene lo faccia quando definito in px
. Entrambi i casi funzionano come previsto in Chrome.Gli elementi Flex ignorano il riempimento percentuale in Firefox
div {
background: #233540;
}
div > div {
color: #80A1B6;
}
.parent {
display: flex;
}
.padded {
padding-bottom: 10%;
}
<div class="parent">
<div class="padded">
asdf
</div>
</div>
Chrome:
Firefox:
Modifica: Ciò potrebbe essere dovuto alla decisione di Mozilla di interpretare percentuali verticali rispetto all'altezza del contenitore genitore. Sembra pazzo per me. https://bugzilla.mozilla.org/show_bug.cgi?id=851379
Edit 2: Sì, sembra che la specifica definisce in realtà padding verticale e il margine come dall'essere risolta contro l'altezza del contenitore, in modo forse Chrome è quello non onorare le specifiche? https://drafts.csswg.org/css-flexbox/#item-margins
RE: Edit 2: in realtà la specifica definisce come una scelta per il browser di utilizzare l'altezza o larghezza in alto/margine inferiore/padding fintanto sono coerenti e usano sempre l'uno o l'altro per tutte le situazioni. Quindi, sia Firefox che Chrome rispettano le specifiche. –
Probabilmente la risposta migliore è seguire anche le specifiche attuali: "Gli autori dovrebbero evitare di utilizzare interamente percentuali di paddings o margini sugli elementi flessibili, in quanto avranno un comportamento diverso nei vari browser." –