Próbuję dodać dopełnienie do elementu wewnątrz elementu display:flex
. Kiedy dopełnienie jest zdefiniowane jako procent, nie wyświetla się w przeglądarce Firefox, chociaż ma to miejsce w przypadku zdefiniowania w px
. Oba przypadki działają zgodnie z oczekiwaniami w Chrome.Elementy Flex ignorują wyrównywanie procentów w Firefoksie
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:
Edytuj: Może to wynikać z decyzji Mozilli o interpretacji pionowych wartości procentowych względem wysokości kontenera nadrzędnego. Wydaje mi się szalony. https://bugzilla.mozilla.org/show_bug.cgi?id=851379
Edycja 2: Tak, wydaje się, że spec faktycznie definiuje pionową wyściółkę i margines jako rozwiązane przed wysokości kontenera, więc może Chrom jest jednym niedotrzymywanie spec? https://drafts.csswg.org/css-flexbox/#item-margins
RE: Edit 2: faktycznie spec definiuje ją jako wybór dla przeglądarki, aby wykorzystać zarówno wysokość lub szerokość na górze/dolny margines/obicia jak długo są spójne i zawsze używają jednego lub drugiego w każdej sytuacji. Tak więc zarówno Firefox, jak i Chrome honorują specyfikację. –
Najlepsza odpowiedź jest prawdopodobnie zgodna z aktualną specyfikacją: "Autorzy powinni unikać stosowania procentów w wypustkach lub marginesach na elementach elastycznych, ponieważ dostaną inne zachowanie w różnych przeglądarkach." –