目次
動的な高さの問題を解決します
ソリューションの実装
ホームページ ウェブフロントエンド CSSチュートリアル HTMLとCSSを備えた動的なサイズの粘着性のサイドバー

HTMLとCSSを備えた動的なサイズの粘着性のサイドバー

Apr 01, 2025 am 02:11 AM

HTMLとCSSを備えた動的なサイズの粘着性のサイドバー

ビューポートサイズに適応する粘着性のあるサイドバーを作成することは、HTMLとCSSを使用して驚くほど簡単です。レバレッジposition: stickyと方向性のオフセットの設定( top: 0など)により、ジャンプツーアンチャーメニューやセクションの見出しなどの機能を簡単に実装できます。より高度な粘着性のあるポジショニング技術については、CSS-Tricksなどのリソースを探索してください。

ただし、粘着性の要素内で動的にサイズのコンテンツを扱うときに課題が生じます。これにより、コンテンツがビューポートの下に隠される可能性があります。これは、サイドバーの高さが利用可能な画面スペースを超える場合の一般的な問題です。

私は最近、メインコンテンツ領域とアクションアイテムとフィルターを含むサイドバーを備えたデスクトップレイアウトを設計しながら、この問題に遭遇しました。サイドバーは、スクロール中にビューポートに固定されたままにする必要がありました。最初のスタイリングはシンプルでしたが、サイドバーのコンテンツのさまざまな高さが課題を提示しました。 max-heightoverflow-y: autoより大きな画面でうまく機能しましたが、ビューポートが小さいため、サイドバーがオーバーフローしました。

動的な高さの問題を解決します

私の最初のアプローチは、メディアクエリを使用して小さな画面での粘着性のある位置を削除し、コンテナに対してサイドバーを作ることを検討しました。ただし、サイドバーの動的な高さにより、メディアクエリに適したブレークポイントが不可能になりました。ビューポートのサイズに基づいて高さを動的に調整するJavaScriptソリューションは、過度に複雑で、ウィンドウのサイズ変更に問題が発生しやすいように見えました。

よりエレガントなCSSベースのソリューションは効果的であることが証明されました。

ソリューションの実装

メイン要素は、レイアウトにFlexBoxを使用し、デスクトップ幅のために固定flex-basisサイドバーに割り当て、記事要素が残りのスペースを埋めることができるようにしました。 FlexBox Holy Albatrossテクニックにより、メディアクエリなしで小さなビューポートに適切な積み重ねが確保されました。 align-self: startメインの記事で高さが伸びるのを防ぎました。

スティッキーサイドバーの重要なCSS:

 .sidebar {
  -Offset:var( -  space);
  / * ... */
  位置:粘着性;
  TOP:var( -  offset);
}
ログイン後にコピー

これにより、CSSカスタムプロパティ( --offset )によって制御されたトップオフセットで粘着性の動作が確立されます。この変数は、一貫した間隔のために再利用されます。

サイドバーコンポーネントの構造:

 。成分 {
  ディスプレイ:グリッド;
  Grid-Template-rows:auto 1fr auto;
}

.component .content {
  Max-Height:500px;
  Overflow-y:auto;
}
ログイン後にコピー

これにより、柔軟なレイアウトにCSSグリッドを使用します。コンテンツセクションのmax-height 、過度の成長を防ぎ、 overflow-y: auto必要に応じてスクロールを有効にします。重要なことに、サイドバーコンテキスト内:

 .sidebar .component {
  max-height:calc(100VH-var( -  offset) * 2);
}
ログイン後にコピー

これにより、ビューポートの高さとオフセットに基づいてmax-height動的に計算し、オーバーフローを防ぎます。

このアプローチは、さまざまなビューポートサイズに適応するレスポンシブな粘着性のサイドバーを作成します。デスクトップには適していますが、「サイドバーへのジャンプ」ボタンやトグルなど、サイドバーを非表示/表示するなど、小規模なデバイスにはさらなる機能強化が必要になる場合があります。ユーザーテストでは、さらなる反復をガイドします。

以上がHTMLとCSSを備えた動的なサイズの粘着性のサイドバーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

セクション要素との取引 セクション要素との取引 Apr 12, 2025 am 11:39 AM

2つの記事がまったく同じ日に公開されました。

マルチサムスライダー:一般的なケース マルチサムスライダー:一般的なケース Apr 12, 2025 am 10:52 AM

この2部構成のシリーズの最初の部分では、2つの親指スライダーを取得する方法を詳しく説明しました。今、私たちは' llが一般的なマルチサンプスのケースを見ていますが、別のものと

HTMLダイアログ要素を使用したいくつかの実践 HTMLダイアログ要素を使用したいくつかの実践 Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

Google Fontsをタグ付けし、Goofonts.comを作成する方法 Google Fontsをタグ付けし、Goofonts.comを作成する方法 Apr 12, 2025 pm 12:02 PM

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

それはすべて頭の中にあります:Reactヘルメットを使用してReact Poweredサイトのドキュメントヘッドを管理する それはすべて頭の中にあります:Reactヘルメットを使用してReact Poweredサイトのドキュメントヘッドを管理する Apr 15, 2025 am 11:01 AM

ドキュメントヘッドはウェブサイトの中で最も魅力的な部分ではないかもしれませんが、それに入るものは間違いなくあなたのウェブサイトの成功にとってそれと同じくらい重要です

See all articles