2012-03-05 10 views
5

Próbowałem zarchiwizować prosty pasek boczny | zawartość wizualnie z normalnych pływaków, a następnie użyłem klasycznej techniki dla kolumn o równej wysokości z (margin-bottom: -99999px; padding-bottom: 99999px itp.), ale mi się to nie podobało i miałem z tym problemy, więc zdecydowałem się użyć flex-boxa, próbowałem to jakiś czas temu o stałej szerokości i działało dobrze, ale teraz mam procent szerokości, więc wygląda na to, że firefox w ogóle go nie lubił ...Flexbox z procentową szerokością na firefox nie działa

This przykład pokazuje, jak normalnie oczekiwałem, że skrzynka flex będzie działać, i zrobiło się dobrze w safari i chrome, ale firefox po prostu ignoruje procent szerokości ... Znalazłem it is a known issue z firefox, ale jest stary i myślałem, że już go rozwiązali ...

Potem spróbowałem czegoś different w aby oszukać firefox, ale nadal to nie było, czego oczekiwałem, ponieważ boczny pasek miał różną wielkość od strony do strony w oparciu o treść ...

Kończę rezygnację z Flex-Box z płynnym układem i użycie czegoś prostszego, co pasuje do moich potrzeb. ..

Ale jestem ciekaw, czy ktoś rozwiązać ten problem z jakiegokolwiek obejścia lub jeśli jesteśmy w kolejce do tego, który zostanie ustalony przez Mozila ...

Dzięki!

+0

Faux kolumny może być rozwiązaniem? http://www.alistapart.com/articles/fauxcolumns/ – fcalderan

+1

jest prawie taki sam jak przy marży/padding -bottom -/+ 99999px, więc dajesz wrażenie, że kolumny mają równą wysokość, ale w rzeczywistości nie 't, flexbox i table są prawdziwą techniką równej wysokości, ale problem, który opisuję, nie jest związany z kolumną o jednakowej wysokości, ale z faktem, że Firefox ignoruje szerokość procentową, gdy jest w polu Flex. – panosru

Odpowiedz

1

Bardzo odradzam korzystanie z funkcji obejścia margin-bottom: -99999px; padding-bottom: 99999px. Jeśli potrzebujesz układu płynów (zakładam, że o to właśnie chodzi?) Z 14%, 86% podziału, po prostu użyj zwykłego starego CSS zamiast Flexa.

http://jsfiddle.net/97dtV/7/

Dlaczego ponownie wymyślać koła. Jeśli szukasz lepszego sposobu układania witryny, spróbuj zastosować metodę "siatki".

  • semantyczna Siatka (http://semantic.gs/)
  • Bootstrap - (http://twitter.github.com/bootstrap/index.html)

ta zakłada, że nie potrzebujesz flex z jakiegoś konkretnego powodu, jeśli to zignorujesz;). Rozważ także kompatybilność wsteczną podczas używania atrybutów CSS3!

+0

Problem z podejściem -/+ 99999px polega na tym, że muszę mieć pasek boczny z 'position: absolute' i jest to coś, czego muszę unikać. – panosru

+0

hmm Mogłem mieć coś takiego [this] (http://jsfiddle.net/97dtV/9/) chociaż .. szczerze mówiąc obecnie używam [this] (http://jsfiddle.net/97dtV/11/) podejście i jak dotąd jestem z tego zadowolony ... ale dziękuję za odpowiedź! – panosru

+1

Zwykły stary CSS [rozpada się] (http://jsfiddle.net/mlms13/97dtV/73/), gdy tylko kolumny nie mają tej samej wysokości. Z tego powodu ludzie stosują podejście -/+ 9999px lub flexbox lub tabele css. Podejście semantyczne może być najlepszą opcją, ale szkoda, że ​​Flexbox jest tak zepsuty w Firefoksie. –