私は同じ問題を抱えており、ブートストラップ 3 は既存のレイアウトとサードパーティのウィジェットを破壊します。難易度と安定性を高めるために私が試したことを次に示します。
最も簡単な方法
他のブートストラップ コンポーネントを使用しない場合にのみ安全
ブートストラップ css がロードされた後、次の css を追加します。
*,
*:before,
*:after {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.container .row *,
.container .row *:before,
.container .row *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
これはborder-box
、グリッド システム内の要素に対してのみサイズ変更を使用します。グリッド内にカスタム ウィジェットがまだ適用されている場合、これは機能しませんborder-box
。
より的を絞ったアプローチ
他のブートストラップ コンポーネントを使用しない場合にのみ安全
または、次のように、既に適用されcol
ているすべての列 div にカスタム クラスを追加することもできます。col-*-*
<div class="container">
<div class="row">
<div class="col-md-3 col">Grid still works</div>
<div class="col-md-9 col">:)</div>
</div>
</div>
次に、代わりに次の css を使用します。
*,
*:before,
*:after {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.container .row .col,
.container .row .col:before,
.container .row .col:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
プロジェクトでブートストラップ グリッド システムのみを使用する必要がある場合、これは問題なく機能します。ただし、他のブートストラップ コンポーネントを使用する場合は、他のブートストラップ コンポーネントがborder-box
設定に依存するため、このアプローチもお勧めしません。
修正する各要素を含むチェリーピック
さらに良い方法は、content-box
次のようなウィジェットの特定の親要素でボックスのサイズをオーバーライドすることです。
.your-custom-widget-class *,
.your-custom-widget-class *:before,
.your-custom-widget-class *:after {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
このアプローチは、現在は機能しているように見えても、将来のブートストラップ コンポーネントとの最高の上位互換性を提供します。