ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS を使用して子 DIV を親 DIV よりも広くするにはどうすればよいですか?
境界を超えて子 DIV を拡張するという課題その親 DIV は多くの開発者を困惑させてきました。一般的な解決策には、子に負のマージンを設定することが含まれますが、このアプローチでは幅が固定量に制限されます。ビューポートに一致する動的な幅を実現するには、より洗練されたソリューションが必要です。
エレガントで信頼性の高いアプローチの 1 つは、幅と位置のプロパティの組み合わせを利用することです。
.child { width: 100vw; position: relative; left: calc(-50vw + 50%); }
その方法は次のとおりです。このソリューションは次のように動作します:
このアプローチでは、子 DIV がドキュメント フロー内に保持され、周囲とシームレスに対話します。計算された左オフセットにより、ビューポートまたは親 DIV の寸法に関係なく、子は常に端まで伸びることが保証されます。
説明のために、次の例を考えてみましょう:
<div class="parent"> <div class="child">Child</div> </div>
.parent { max-width: 400px; margin: 0 auto; padding: 1rem; position: relative; } .child { width: 100vw; position: relative; left: calc(-50vw + 50%); height: 100px; border: 3px solid red; background-color: lightgrey; }
この例では、親の幅に関係なく、子 DIV がビューポート全体を埋めるように拡大されます。親の幅が 400 ピクセルか 800 ピクセルかに関係なく、子は常に表示されているブラウザ ウィンドウの端まで拡張されます。
この幅と位置のプロパティの組み合わせを使用すると、親 DIV の制約から解放され、子要素がコンテナを超えてシームレスに拡張される、視覚的にインパクトのあるデザインを作成します。
以上がCSS を使用して子 DIV を親 DIV よりも広くするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。