2012-03-05 9 views
5

私は単純なサイドバーをアーカイブしようとしました。コンテンツを視覚的に通常の浮動小数点で視覚的に表示してから、(margin-bottom: -99999px; padding-bottom: 99999pxなど)と等しい高さの列の古典的なテクニックを使用しましたが、私はそれが好きではなかったので、ここでそこにいくつかの問題があったので、それはしばらく前に固定サイズの幅で、それはうまくいきましたが、今私はパーセンテージの幅を持っているので、Firefoxはそれをまったく気に入らなかったようです...Firefoxのパーセンテージ幅でFlexboxが動作しない

This例は、そして、それはSafariとChromeの罰金でしたが、Firefoxはちょうどパーセント幅を無視...

は、その後、私はで何か differentを試してみました...私は、Firefoxの it is a known issueことがわかったが、それは古いものであると私は、彼らはすでにそれを解決したと思いましたファイアフォックスを騙そうとするが、それでもコンテンツに基づいてサイドバーのサイズがページごとに異なるため、私は期待したくありませんでした。

フレキシブルなレイアウトでフレックスボックスをあきらめて、私のニーズに合ったもっとシンプルなものを使いましょう。 ..

しかし、私は誰もが任意の回避策でこの問題を解決するかどうかを知るために興味または私たちは、このためにキュー内のすべてのであればモジラで固定されるように...

ありがとう!

+0

偽の列は解決策ですか? http://www.alistapart.com/articles/fauxcolumns/ – fcalderan

+1

マージン/パディング - 下端 -/+ 99999pxとほぼ同じハックですので、列の高さは同じですが現実には見えません't、flexboxとtableは真の高さのテクニックですが、私が記述している問題は等高線とは関係ありませんが、フレックスボックスに入っているとfirefoxはパーセンテージの幅を無視しています。 – panosru

答えて

1

回避策を避けることを強くお勧めします。margin-bottom: -99999px; padding-bottom: 99999px回避策 流体レイアウト(14%、86%の分割)を使用する場合は、Flexではなく古い普通のCSSを使用してください。

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

なぜホイールを再発明します。サイトをレイアウトするためのより良い方法を探している場合は、「グリッド」アプローチを試してみてください。

  • セマンティックグリッド(http://semantic.gs/)
  • ブートストラップ - (http://twitter.github.com/bootstrap/index.html)

これはあなたのことを前提としていあなたがそれを無視するならば、ある特定の理由のためにflexを必要としません;)。 CSS3固有の属性を使用している場合は、後方互換性も考慮してください。

+0

-/+ 99999pxアプローチの問題は、サイドバーに 'position:absolute'を持たせる必要があることです。これは避けなければならないものです。 – panosru

+0

ええ、私は[this](http://jsfiddle.net/97dtV/9/)のようなものを持つことができます。正直言って私は現在[this](http://jsfiddle.net/97dtV/11/)を使っています。 )アプローチとこれまでのところ私はそれに満足している...しかし、あなたの答えに感謝! – panosru

+1

あなたの列が同じ高さにならないと、平易な古いCSS [崩壊](http://jsfiddle.net/mlms13/97dtV/73/)。だから、人々は -/+ 9999pxアプローチ、フレックスボックス、またはCSSテーブルを使用しています。セマンティックグリッドアプローチが最良の選択肢かもしれませんが、フレックスボックスはFirefoxでとても壊れています。 –

関連する問題