ホームページ >ウェブフロントエンド >CSSチュートリアル >Twitter Bootstrap で固定幅のサイドバーと流動的な幅のコンテンツ領域を実現するにはどうすればよいですか?

Twitter Bootstrap で固定幅のサイドバーと流動的な幅のコンテンツ領域を実現するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-17 01:22:03915ブラウズ

How Can You Achieve a Fixed-Width Sidebar and Fluid-Width Content Area in Twitter Bootstrap?

Twitter Bootstrap を使用した固定流動レイアウトの実装

Twitter Bootstrap の人気にもかかわらず、2 つのレイアウトを作成する機能について懸念が提起されています。 - 固定幅のサイドパネルと可変幅のコンテンツを特徴とする列レイアウト

考えられる解決策:

元の解決策 (Bootstrap v1.0)

変更された HTML とCSS では、Bootstrap v1.0 で固定流体レイアウトを実現できます。更新されたコードは次のとおりです。

<div class="container-fluid fill">
    <div class="row-fluid">
        <div class="fixed">  <!-- Fixed width -->
            ...
        </div>
        <div class="hero-unit filler">  <!-- Removed spanX class -->
            ...
        </div>
    </div>
</div>
.fixed {
    width: 150px;  /* Fixed width */
    float: left;
}

.fixed + div {
    margin-left: 150px;  /* Match fixed width */
    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: "";
    left: 0;
    margin:inherit;
    min-height: 100%;
    position: absolute;
    top: 0;
    width: inherit;
    z-index: -1;  
}

更新されたソリューション (Bootstrap v2.0)

「.container-fluid」クラスの削除Twitter Bootstrap v2.0 では、元のソリューションと互換性がなくなりました。ただし、CSS をわずかに変更することで、2 列の固定流体レイアウトを実装できます。

.fixed {
    width: 150px;  /* Fixed width */
    float: left;
}

.fixed + div {
    margin-left: 150px;  /* Match fixed width */
    overflow: hidden;
}

サイドバーとコンテンツの高さを均等にする

ただし、必須ではありません。 、多くの場合、サイドバーとコンテンツの列が同じ高さであることが望ましいです。これは、「.filler」クラスを流体幅列に追加し、::after 疑似セレクターを使用して、残りのスペースを埋めるように見えるフィラー要素を追加することで実現できます。

.filler::after {
    background-color: inherit;
    bottom: 0;
    content: "";
    height: 100%;
    left: 150px;  /* Match fixed width */
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;  
}

注:

  • 流体-流体レイアウトの場合、「.container-fluid」をmin-height 100%。
  • ページの左側にフィラー要素を配置するには、「left: 150px;」を変更します。 「右: 0;」へ。

以上がTwitter Bootstrap で固定幅のサイドバーと流動的な幅のコンテンツ領域を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。