Flex-Elemente ignorieren Prozent Polsterung in Firefox

Ich versuche, hinzufügen Polsterung an ein element in einem display:flex element. Wenn die Polsterung ist definiert als ein Prozent, es nicht angezeigt wird in Firefox, obwohl es nicht definiert, wenn in px. Beiden Fällen erwartungsgemäß in Chrom.

CSS:

div {
    background: #233540;
}
div > div {
    color: #80A1B6;
}
.parent {
    display: flex;
}
.padded {
    padding-bottom: 10%;
}

HTML:

<div class="parent">
    <div class="padded">
        asdf
    </div>
</div>

Chrome:

Flex-Elemente ignorieren Prozent Polsterung in Firefox

Firefox:

Flex-Elemente ignorieren Prozent Polsterung in Firefox

Bearbeiten:
Dies kann sein, weil Mozilla die Entscheidung zu interpretieren vertikale Prozentsätze mit Bezug auf die Höhe des übergeordneten Containers. Scheint verrückt zu mir. https://bugzilla.mozilla.org/show_bug.cgi?id=851379

Edit 2:
Ja, es scheint, dass die Spezifikation definiert das vertikale padding und margin so entschlossen gegen die Höhe des Containers, also vielleicht Chrome ist das man nicht zu Ehren der Skillung?
https://drafts.csswg.org/css-flexbox/#item-margins

  • RE: Edit 2: eigentlich die spec definiert es als eine Wahl, die für den browser zu verwenden, entweder die Höhe oder die Breite für top/bottom margin/padding, solange Sie konsistent sind und verwenden Sie immer eine oder die andere für alle anderen Situationen. So, Firefox und Chrom sind zu Ehren des spec.
  • Beste Antwort ist wohl auch nach der aktuellen spec: "Autoren sollten vermeiden Sie die Verwendung von Prozentangaben in Polstern oder Ränder auf flex-Elemente vollständig sind, bekommen Sie unterschiedliches Verhalten in verschiedenen Browsern."
InformationsquelleAutor nvioli | 2015-11-03
Schreibe einen Kommentar