ホームページ >ウェブフロントエンド >CSSチュートリアル >オーバーフローを使用してネストされた Div で可変幅の分散を実現する方法: 非表示?

オーバーフローを使用してネストされた Div で可変幅の分散を実現する方法: 非表示?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-07 18:32:03675ブラウズ

How to Achieve Variable Width Distribution in Nested Divs with Overflow: Hidden?

ネストされた Div で可変幅の分散を実現する方法

xHTML/CSS では、複数のネストされた div が必要なシナリオに遭遇するのが一般的です。内側の div の幅は内容に応じて変化し、水平方向に整列します。この質問は、一般的な課題、つまり、幅が指定されておらず、コンテンツに依存する場合に、残りの利用可能な水平方向のスペースを内部 div の 1 つにどのように割り当てるかという問題について探ります。

この効果を達成するには、CSS プロパティを利用できます。 「オーバーフロー: 非表示;」。このプロパティは、フローティング要素に隣接する要素がフロートの背後に拡張することを防ぎ、制御されたレイアウトを作成します。

以下の HTML 構造を考慮してください。

<div>

レイアウトを構成するには、次の CSS を使用できます。適用:

#outer {
    overflow: hidden;
    width: 100%;
    border: solid 3px #666;
    background: #ddd;
}

#inner1 {
    float: left;
    border: solid 3px #c00;
    background: #fdd;
}

#inner2 {
    overflow: hidden;
    border: solid 3px #00c;
    background: #ddf;
}

「overflow: hidden;」を設定することにより「outer」div では、フローティングされた「inner1」 div が「outer」 div 内に含まれたままになるように強制します。次に、「inner2」 div が残りの水平方向のスペースを埋めます。

このレイアウトが Internet Explorer の古いバージョン (IE 6 および 7) で動作することを確認するには、HTML 条件付きコメントで次の追加 CSS を使用できます。

<!--[if lte IE 6]>
<style type="text/css">
    #inner2 {
        zoom: 1;
    }

    #inner1 {
        margin-right: -3px;
    }
</style>
<![endif]-->

このスタイルは、IE 6 で「inner2」 div が残りのスペースを正しく埋め、「zoom」プロパティによって生じたギャップを補うために「inner1」 div のマージンを調整することを保証します。

この設定では、「inner1」 div はそのコンテンツに基づいて幅を動的に調整し、「inner2」 div は残りの利用可能な幅を占め、div がそれぞれの幅で水平方向に整列するレイアウトを作成します。

以上がオーバーフローを使用してネストされた Div で可変幅の分散を実現する方法: 非表示?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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