Flexbox対Twitter Bootstrap(または同様のフレームワーク)[終了]


161

最近Flexbox、divを同じ高さにするためのソリューションを探していたときに、最高のものに依存することを発見しました。

CSS-tricks.com の次のページを読んだところ、flexbox学習と使用が非常に強力なモジュールであると確信しました。ただし、Twitterブートストラップ(および類似のフレームワーク)がグリッドシステムと同じような機能(もちろん、さらに多くの機能)を提供しているという事実についても考えさせられました。

さて、質問は次のとおりflexboxです。の長所と短所は何ですか?Flexboxでできない、Bootstrapのようなフレームワークでできることはありますか(もちろん、純粋にグリッドシステムについて話しています)。ウェブサイトに実装するとどちらが速いですか?

グリッドシステムだけの場合flexbox、純粋にを使用する方が賢明だと思いますが、すでにフレームワークを使用している場合、何かflexbox追加できるものはありますか?

flexboxフレームワークよりも「グリッドシステム」を選択する理由はありますか?


5
FlexboxとBootstrapを使用しています。
Aibrean 2014

2
ZurbのFoundation for Appsご覧ください。Flexboxグリッドシステムの上に完全に構​​築されている
セーラムOuerdani


1
Bootstrap 4はデフォルトでflexboxになりました!Flexboxは非常に強力なレイアウトツールであり、グリッドシステムとコアコンポーネントに比類のない柔軟性と制御を提供します。IE9のサポートをやめる代わりに、コンポーネントのレイアウト、配置、およびサイズを大幅に改善します。
Nermien Barakat 2017

5
これは意見に基づくものとして閉じられるべきではないことに同意します。質問者は意見ではなく事実を探しています。「フレックスボックスの長所と短所は何ですか?」質問者(私のように)は、各システムの長所と短所を特定しようとしています。
Darin Cardin 2017

回答:


107

いくつかの理由で、フレックスボックスはブートストラップよりもはるかに優れています:

  • Bootstrapは、フロートを使用してグリッドシステムを作成します。グリッドシステムは多くの場合、Web向けではないため、フレックスボックスは、アイテムのサイズと内容に柔軟に対応することで反対のことを行います。ピクセルとem / remを使用するのと同じ違い、または余白とパディングのみを使用してdivを制御し、事前定義されたサイズを設定しないようにします。

  • ブートストラップはフロートを使用するため、各行の後にclearfixが必要です。そうしないと、高さが異なるdivの位置がずれます。フレックスボックスはそれを行わず、代わりにコンテナ内の最も高いdivをチェックし、その高さに固定します。

フレックスボックスを介したブートストラップを使用する唯一の理由は、ブラウザのサポートが不足していることです(IEが主)(ダイは既に)。また、同じWebkitエンジンを使用していても、ChromeとSafariで動作が異なる場合があります。

編集:

ところで、あなたが直面している唯一の問題が同じ高さの列である場合、そのためのかなりの数の解決策があります:

  • display: tabledisplay: table-cell;にも子にも使用できます。display:table-cellで同じ高さを取得する方法を参照してください

  • 各divで絶対位置を使用できます。
    position: absolute; top: 0; bottom: 0;

  • jquery / JSソリューションと、後で追加しようとしている現時点で思い出せない別のソリューションもあります。

編集2:

また、フレックスボックスの動作についてhttp://chriswrightdesign.com/experiments/flexbox-adventures/およびhttps://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-propertiesを確認してください

編集3: https : //kyusuf.com/post/almost-complete-guide-to-flexbox-without-flexbox

編集4: https : //caniuse.com/#feat=flexbox


1
コメントありがとうございます。2つのうちどちらがより優れているかについての説明が見つからなかったので、私の質問(およびあなたの回答と将来の回答)が人々の判断に役立つことを願っています。幸いなことに、IE 11は以前の3つのバージョン(IE10がサポートするバージョン)を組み合わせたものよりも現在大きな市場シェアを獲得しているflexboxので、私の目には安全に使用できます。フレームワークとの組み合わせを使用することについてどう思いますflexboxか?もちろん、使用中にフレームワークのグリッドシステムを無視します。
Rvervuur​​t 2014

2
Flexboxを使用すると、より強力なグリッドシステムを簡単に作成できますが、それ自体はグリッドシステムではありません。より良い、よりシンプルなグリッドシステムはいくつかのアイデアを示し、ZURB Foundation for Appsはレイアウト目的でflexboxを使用します
ckuijjer

実際には、両方を使用することができます。これは、すでに慣れていることを気にする必要がないためです(これ以上何も知らない人など)。 BS)、しかし私にとってflex-boxのセールスポイントは、JSを使用することで得られるのと同じ柔軟性を持っていますが、コードを1行も書かなくても得られます。
ctf0 14

完全な互換性データ:caniuse.com/#feat=flexbox古いAndroidにも問題があることに注意してください。
cvrebert 2014

ダム、そして私たちはそれを使用するところがほとんどあると思っていました、それは別の年か何かが私たちが野生で目にするのを見るようです、ヘッドアップのためにありがとう。
ctf0 14

6

私はFlexboxを使用していません(私はそれについて読み、素晴らしいようです)が、私はBootstrapフロントエンド開発者です。最終的な決定を行う前に、Flexbox印刷ページをテストすることをお勧めします。ご存知のように...時々、印刷スタイルはひどい頭痛の種となり、Bootstrapは、印刷フォーマットを設計する必要がある場合に非常に役立ちます。


これが、ブートストラップ印刷クラスと組み合わせて印刷可能な
divに

1

CSSトリックに関する別の記事を見逃してしまったようです。

注:Flexboxレイアウトはアプリケーションのコンポーネントと小規模レイアウトに最も適していますが、グリッドレイアウトは大規模レイアウトを対象としています。

という意味ではありません。試してはいけないかもしれませんが、よく考えてください。そしてすべては結局のところ、望まれるブラウザのサポートに依存しています。


24
記事がブートストラップのグリッドではなく、新しく出現したグリッドレイアウトについて話していることを必ず理解してください。
getsetbro 2015

5
私はそれを逃したと言わなければならない!:)訂正ありがとうございます。
Kout

賛成、あなたは意図と目的の矛盾なしにフレックスボックスとグリッドを使用する方法として非常に明確な違いを指摘しました、そして私にとって、ブートストラップグリッドまたはグリッドを意味するかどうかは関係ありません
Ahmad Farouk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.