2014-11-17 6 views

Odpowiedz

17

To zostało zgłoszone wcześniej jako bug in Firefox/Gecko, ale w rzeczywistości jest to bug in Chrome/Blink.

Dla elementu potomnego bloku (display:block), procent marginesów & padding zostanie rozwiązany względem szerokości bloku. Prawdopodobnie to zachowanie się spodziewamy, i to jest to, co Blink robi niepoprawnie: dla dzieci z elastycznych pojemników, jak opisano na stronie błędu powyżej.

Ale w flex kontenera, margines procent & wyściółka są supposed to resolve against the respective dimension (tak np margin-top/margin-bottom zostanie rozwiązany przed wysokości pojemnika).

Ponadto, jeśli pojemnik nie posiada określoną wysokość (np jeśli ma height:auto) następnie procentowe nie mogą być rozwiązane, więc rozwiązać 0.

+0

Dzięki za znajomość – jlevinson

2

można nadać szerokość marginesu w procentach, wysokość depozytu w jednostkach vw. Działa to tylko wtedy, gdy opakowanie flexbox nie ma ustalonej szerokości.

Na przykład: margin: 0 2% 2vw 0;

przykład robocza: http://codepen.io/anon/pen/JKGjdB

+0

Dzięki Dawida! Ciekawy – jlevinson