2列レイアウト(固定-流体)レイアウトを作成することは可能ですか( http://www.dynamicdrive.com/style/layouts/item/css-liquid-layout-21-fixed-fluid/ =)with Twitter Bootstrap(http://Twitter.github.com/bootstrap/)?
解決策はありますか?
-別のアップデート-
Twitter Bootstrapバージョン2.0-.container-fluid
クラスの削除を見た-2列を実装することはできませんでしたbootstrapクラスのみを使用する固定流体レイアウト-ただし、これを可能にする独自のCSSコードで行うことができるいくつかの小さなCSS変更を含めるように回答を更新しました
以下にあるCSSとTwitterから取得したわずかに変更されたHTMLコードを使用して、固定流体構造を実装することができますBootstrapスキャフォールディング:レイアウトドキュメントページ:
<div class="container-fluid fill">
<div class="row-fluid">
<div class="fixed"> <!-- we want this div to be fixed width -->
...
</div>
<div class="hero-unit filler"> <!-- we have removed spanX class -->
...
</div>
</div>
</div>
/* CSS for fixed-fluid layout */
.fixed {
width: 150px; /* the fixed width required */
float: left;
}
.fixed + div {
margin-left: 150px; /* must match the fixed width in the .fixed class */
overflow: hidden;
}
/* CSS to ensure sidebar and content are same height (optional) */
html, body {
height: 100%;
}
.fill {
min-height: 100%;
position: relative;
}
.filler:after{
background-color:inherit;
bottom: 0;
content: "";
height: auto;
min-height: 100%;
left: 0;
margin:inherit;
right: 0;
position: absolute;
top: 0;
width: inherit;
z-index: -1;
}
2.0をサポートするための編集によって流体流体ソリューションになったにもかかわらず、以下の答えを維持しました-サイドバーとコンテンツを同じ高さにする背後にある概念を説明しているためです(質問者の大部分コメントで特定された質問)
更新 @ JasonCapriottiがコメントで指摘したように、この質問に対する元の回答(v1.0用に作成)は、Bootstrap 2.0。このため、サポートを更新しましたBootstrap 2.0
メインコンテンツが画面の高さの少なくとも100%を占めるようにするには、html
とbody
の高さを100%に設定し、.fill
という新しいCSSクラスを作成する必要があります。最小高さ100%:
html, body {
height: 100%;
}
.fill {
min-height: 100%;
}
その後、.fill
クラスを、画面の高さの100%を占める必要がある要素に追加できます。この場合、最初のdivに追加します。
<div class="container-fluid fill">
...
</div>
サイドバーとコンテンツ列の高さを同じにすることは非常に難しく、不要です。代わりに、::after
疑似セレクターを使用して、2つの列の高さが同じであるという錯覚を与えるfiller
要素を追加できます。
.filler::after {
background-color: inherit;
bottom: 0;
content: "";
right: 0;
position: absolute;
top: 0;
width: inherit;
z-index: -1;
}
.filler
要素が.fill
要素に対して相対的に配置されていることを確認するには、position: relative
を.fill
に追加する必要があります。
.fill {
min-height: 100%;
position: relative;
}
最後に、HTMLに.filler
スタイルを追加します。
HTML
<div class="container-fluid fill">
<div class="row-fluid">
<div class="span3">
...
</div>
<div class="span9 hero-unit filler">
...
</div>
</div>
</div>
ノート
right: 0
をleft: 0
に変更する必要があります。2018年に更新
ブートストラップ4
BS4はflexboxであるため、fixed-fluidは簡単です。固定列の幅を設定し、流体列で.col
クラスを使用するだけです。
.sidebar {
width: 180px;
min-height: 100vh;
}
<div class="row">
<div class="sidebar p-2">Fixed width</div>
<div class="col bg-dark text-white pt-2">
Content
</div>
</div>
http://www.codeply.com/go/7LzXiPxo6a
ブートストラップ3..
fixed-fluidレイアウトへの1つのアプローチは、Bootstrapのブレークポイントに合わせてメディアクエリを使用することです。これにより、固定幅の列のみを使用し、画面を大きくしてから小さい画面でのレスポンシブなレイアウトスタック...
@media (min-width:768px) {
#sidebar {
min-width: 300px;
max-width: 300px;
}
#main {
width:calc(100% - 300px);
}
}
Working Bootstrap 3 Fixed-Fluid Demo
関連Q&A:
bootstrap 内のコンテナ流体を含む固定幅列
Bootstrap 4で左列を固定し、右スクロール可能にする方法、応答しますか?