ホームページ > ウェブフロントエンド > CSSチュートリアル > 余談の背景色をオーバーフローする親を超えて拡張するにはどうすればよいですか?

余談の背景色をオーバーフローする親を超えて拡張するにはどうすればよいですか?

DDD
リリース: 2024-12-30 08:21:09
オリジナル
332 人が閲覧しました

How to Make an Aside's Background Color Extend Beyond Its Overflowing Parent?

背景色をオーバーフロー領域まで拡張する

問題:

Web レイアウトでは、 「overflow: auto」コンテナ内の「aside」要素の背景色は、表示される範囲を超えて拡張されません。

質問:

「aside」要素の背景色を強制的に高さとして動的にレンダリングするにはどうすればよいですか?オーバーフローコンテナーには制限がありますが、親コンテンツの高さ?

答え:

CSS の実装には制限があります

残念ながら、CSS だけでは背景を拡張することはできませんオーバーフロー領域に色を塗ります。これは次の理由によるものです。

  • 背景色は要素の幅と高さのみをカバーし、マージンやオーバーフロー領域はカバーしません。
  • 「オーバーフロー」プロパティは、コンテンツのみを制御し、要素は制御しません。背景。

JavaScript ソリューション

を実現するには望ましい効果を得るには、JavaScript を使用する必要があります。スニペットは次のとおりです:

const aside = document.querySelector("aside");
const parent = aside.parentElement;

parent.addEventListener("scroll", () => {
  aside.style.height = `${parent.scrollHeight}px`;
});
ログイン後にコピー

説明:

このスクリプトは、スクロールを監視する親要素にイベント リスナーを追加します。スクロールが発生すると、スクロール可能なコンテンツの高さに一致するように「aside」要素の高さが更新され、背景色が常にオーバーフロー領域全体を占めるようになります。

注:

  • このスクリプトは、親要素に「overflow: auto」プロパティがあることを前提としています。
  • 「aside」と "parent" は、それぞれ "aside" 要素とその親の CSS セレクターです。 HTML に合わせて調整してください。

以上が余談の背景色をオーバーフローする親を超えて拡張するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート