Skip to content

ics-creative/260128_css_anchor_positioning

Repository files navigation

CSS Anchor Positioning サンプル集

CSS Anchor Positioning APIと関連仕様を使用したUIサンプル集です。

概要

このリポジトリには、CSS Anchor Positioning APIを活用した6つのサンプル(タブUI 4件、ツールチップ 2件)が含まれています。各サンプルでは、アンカー要素に基づいて要素を配置する機能を活用し、JavaScriptを最小限に抑えた実装を実現しています。

サンプル一覧

基本的なアンカーポジショニングを使用したシンプルなタブUIのサンプルです。

  • アンカー要素(タブ)に基づいて背景要素(座布団)を配置
  • シンプルなトランジションアニメーション
  • 最小限のJavaScript実装

カスタムイージング関数を使用した、より完成度の高いタブUIのサンプルです。

  • カスタムイージング関数(linear())を使用したスムーズなアニメーション
  • レスポンシブデザイン対応
  • ホバー・アクティブ状態のスタイリング

スクロール駆動アニメーション(Scroll-driven Animations)とアンカーポジショニングを組み合わせたタブUIのサンプルです。

  • スクロール位置に応じてタブの背景が自動的に移動
  • animation-timeline: scroll()を使用したスクロール連動アニメーション
  • Vue.jsを使用したコンポーネント実装
  • スワイプ可能なタブコンテンツ

:target-current疑似クラスとアンカーポジショニングを組み合わせたタブUIのサンプルです。

  • :target-current疑似クラスで現在表示中のパネルに対応するタブを検出
  • scroll-target-group: autoを使用してスクロールマーカーグループを設定
  • スクロール位置に応じてタブの背景(座布団)が自動的に移動
  • Vue.jsを使用したコンポーネント実装
  • スワイプ可能なタブコンテンツ

interestfor属性とpopoverを使った最小構成のツールチップサンプルです。

  • リンク要素とツールチップをinterestforで関連付け
  • popoverでホバー時にヒント表示
  • JavaScriptなしで実装

interestfor属性・Popover API・Anchor Positioning APIを組み合わせた、記事プレビュー付きツールチップのサンプルです。

  • アンカー位置に追従するツールチップ配置
  • position-tryによる表示位置フォールバック
  • 画像付きカードUIと開閉アニメーション

技術スタック

  • HTML5
  • CSS(Anchor Positioning API、Scroll-driven Animations、:target-currentscroll-target-groupposition-try
  • HTML Popover API(popoverinterestfor
  • JavaScript
  • Vue.js 3(scroll-area/animation-timeline.htmlscroll-area/target-current.html

使い方

  1. リポジトリをクローンまたはダウンロード
  2. index.htmlをブラウザで開く
  3. 各サンプルへのリンクから詳細を確認

または、各HTMLファイルを直接ブラウザで開いて確認することもできます。

参考記事