亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
最初のアニメーションは非常に簡(jiǎn)単です。各プロジェクトには獨(dú)自のバックグラウンドアニメーションがあります。つまり、背景が自動(dòng)的に空間を満たすため、テキストコンテンツを気にする必要はありません。
アンカーポジショニング機(jī)能を使用して、この小さな実験を楽しんだことを願(yuàn)っています。 3つのプロパティ/値しか見ていませんが、この新しい機(jī)能を使用する準(zhǔn)備を整えるのに十分です。アンカー名とポジションアンカーの屬性は、要素(通常はこのコンテキストでは「ターゲット」要素と呼ばれる)を別の要素にリンクする必須部分です(このコンテキストでは「アンカー」要素を呼び出します)。そこから、Anchor()関數(shù)を使用して位置を制御できます。
ホームページ ウェブフロントエンド CSSチュートリアル アンカーポジショニングを使用したファンシーメニューナビゲーション

アンカーポジショニングを使用したファンシーメニューナビゲーション

Mar 07, 2025 pm 05:14 PM

Fancy Menu Navigation Using Anchor Positioning

CSSアンカーポイントの位置決め機(jī)能について聞いたことがあると思いますよね?この機(jī)能により、ページ上の任意の要素を別の要素であるアンカーポイントにリンクできます。すべてのツールチップに非常に役立ちますが、他の多くの良い結(jié)果も作成します。

この記事ではメニューナビゲーションを調(diào)査し、アンカーポジショニングに依存してリンクに優(yōu)れたホバーエフェクトを作成します。

かっこいいですよね?スライド効果があり、青い長(zhǎng)方形はスムーズな遷移を通じてテキストコンテンツに完全に適応します。アンカーポジショニングに慣れていない場(chǎng)合は、この例は簡(jiǎn)単であり、この新しい機(jī)能の基本を提供するため、この例は完璧です。別の例を?qū)Wぶので、最後に固執(zhí)します!

この執(zhí)筆時(shí)點(diǎn)では、クロムベースのブラウザのみがアンカーポジショニングを完全にサポートすることに注意してください。他のブラウザがこの機(jī)能をより広くサポートする前に、ChromeやEdgeなどのブラウザでデモを表示する必要があります。

http://ipnx.cn/link/93ac0c550dd620dc7b88e5fe05c705cnie15bhttp://ipnx.cn/link/93ac0c5050d6620dc7b888e5fe05wwwppsppspps. n/link/93ac0c50dd620dc7b88e5fe05c70e15b初期設(shè)定

HTML構(gòu)造から始めましょう。これは、順序付けられていないリンクリストを含むNAV要素です。

<nav><ul>
<li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Home</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">About</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Projects</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Blog</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Contact</a></li>
  </ul></nav>
ユースケースが異なる場(chǎng)合にも異なる場(chǎng)合があるため、この構(gòu)造の説明にはあまり時(shí)間を費(fèi)やすことはありません。セマンティクスがあなたがやろうとしていることに関連していることを確認(rèn)してください。 CSSセクションについては、いくつかの基本的なスタイルから始めて、水平方向のメニューナビゲーションを作成します。

ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: .5rem;
  font-size: 2.2rem;
}

ul li a {
  color: http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b000;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.5;
  padding-inline: .2em;
  display: block;
}
これまでのところ、特別なものはありません。いくつかのデフォルトスタイルを削除し、FlexBoxを使用して要素を水平方向に整列させました。

スライディング効果

最初に、効果がどのように機(jī)能するかを理解しましょう。一見すると、非常に小さな高さに縮み、ホバー要素に移動(dòng)し、その後フル高さに成長(zhǎng)する長(zhǎng)方形があるようです。これは視覚効果ですが、実際には複數(shù)の要素が関係しています!

これは私の最初のデモであり、私は異なる色を使用して、何が起こっているのかをよりよく理解しています。

各メニュー項(xiàng)目には、縮小または成長(zhǎng)できる獨(dú)自の「要素」があります。次に、異なるメニュー項(xiàng)目の間にスライドする共通の「要素」(赤の要素」(赤の要素)があります。最初の効果は、バックグラウンドアニメーションを使用して行われ、2番目の効果は、アンカーポイントの位置決めが発生する場(chǎng)所です!

バックグラウンドアニメーション

最初の部分では、CSSグラデーションの高さをアニメーション化します:

/* 1 */
ul li {
  background: 
    conic-gradient(lightblue 0 0)
    bottom/100% 0% no-repeat;
  transition: .2s;
}

/* 2 */
ul li:is(:hover,.active) {
  background-size: 100% 100%;
  transition: .2s .2s;
}

/* 3 */
ul:has(li:hover) li.active:not(:hover) {
  background-size: 100% 0%;
  transition: .2s;
}
幅100%、下部に0%の高さの勾配を定義します。勾配構(gòu)文は奇妙に見えるかもしれませんが、モノクロ勾配を持つことができるのは最短構(gòu)文です。

関連: "モノクロ勾配を正しく定義する方法"

次に、メニュー項(xiàng)目がホバリングされているか、アクティブなクラスがある場(chǎng)合、高さを100%に設(shè)定します。ここでの遅延の使用に注意して、収縮後に成長(zhǎng)が発生することを確認(rèn)してください。

最後に、.Activeアイテムの特別なケースに対処する必要があります。アイテム(アクティブアイテムではなく)をホバリングすると、.Activeアイテムは縮小効果を得ます(勾配高さは0%に等しくなります)。これは、コードの3番目のセレクターが行うことです。

最初のアニメーションが終了しました! 2番目のセレクターで定義した遅延により、収縮が完了した後に成長(zhǎng)が始まる方法に注意してください。 アンカーポジショニングアニメーション

最初のアニメーションは非常に簡(jiǎn)単です。各プロジェクトには獨(dú)自のバックグラウンドアニメーションがあります。つまり、背景が自動(dòng)的に空間を満たすため、テキストコンテンツを気にする必要はありません。

1つの要素を使用して、各アイテムのテキストに合わせて幅を調(diào)整しながら、すべてのメニュー項(xiàng)目の間をスライドする2番目のアニメーションを?qū)g行します。これは、アンカーポジショニングが役立つ場(chǎng)所です。

次のコードから始めましょう:

追加の要素を追加しないようにするために、ULで擬似要素を使用することを好みます。それは絶対に配置する必要があり、私たちはアンカーの位置を作動(dòng)させるために2つのプロパティに依存します。
<nav><ul>
<li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Home</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">About</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Projects</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Blog</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Contact</a></li>
  </ul></nav>

Anchor-Name屬性を使用して、アンカーポイントを定義します。メニュー項(xiàng)目がホバリングされているか、。アクティブクラスがある場(chǎng)合、アンカー要素になります。別のアイテムがホバリングしている場(chǎng)合は、.Activeアイテムからアンカーポイントを削除する必要があります(したがって、コードの最後のセレクター)。つまり、一度に定義されているアンカーポイントは1つだけです。

その後、Position-Anchor屬性を使用して、擬似要素をアンカーポイントにリンクします。 2つが同じ表記法を使用する方法に注意してください。これは、たとえば、@KeyFramesを特定の名前で定義する方法に似ており、アニメーションプロパティで使用する方法に似ています。

構(gòu)文を使用する必要があることを忘れないでください。つまり、名前は常に2つのダッシュ( - )で始まる必要があります。

擬似要素は正しく配置されますが、次元を定義していないため、何も見られません!次のコードを追加しましょう:

height屬性は単純ですが、Anchor()は新しいメンバーです。これがJuan DiegoがAlmanacで説明していることです:
ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: .5rem;
  font-size: 2.2rem;
}

ul li a {
  color: http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b000;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.5;
  padding-inline: .2em;
  display: block;
}

css anchor()関數(shù)は、アンカー要素の片側(cè)を取り、それをその位置にある
に解析します。インラインプロパティ(上、下、下、左、右など)にのみ使用でき、通常、アンカーポイントに比べて完全に配置された要素を配置するために使用されます。

MDNページも確認(rèn)しましょう:

anchor()CSS関數(shù)は、アンカー位置決め要素の埋め込み屬性値で使用でき、関連するアンカー要素エッジ位置に比べて長(zhǎng)さの値を返します。

通常、左:0を使用して、その含有ブロックの左端に絶対要素を配置します(つまり、位置を持つ最も近い先祖:相対)。左:アンカー(左)は同じことを行いますが、ブロックを含むのではなく、関連するアンカー要素を考慮します。

それだけです - 私たちは終わりました!以下のデモのメニュー項(xiàng)目をホバリングして、擬似要素がそれらの間でどのようにスライドするかを確認(rèn)します。

メニュー項(xiàng)目にマウスをホバリングするたびに、擬似要素の新しいアンカーになります(ul:before)。これはまた、アンカー(...)値が変更され、スライド効果が発生することを意味します!移行を使用することを忘れないでください。そうしないと、突然の変化があります。

次のようなコードを記述することもできます

<nav><ul>
<li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Home</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">About</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Projects</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Blog</a></li>
    <li><a href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Contact</a></li>
  </ul></nav>
言い換えれば、左、右、下などの物理的特性を使用する代わりに、挿入図の略語に頼ることができ、ポジションアンカーを定義する代わりに、アンカーの名前をアンカー()関數(shù)に含めることができます。ここで同じ名前を3回繰り返しましたが、これは最良の選択肢ではないかもしれませんが、場(chǎng)合によっては、要素に複數(shù)のアンカーを検討することを望むかもしれません。その場(chǎng)合、この構(gòu)文は理にかなっています。

2つの効果を組み合わせる

さて、2つの効果、

void を組み合わせて、幻覚は完璧です!

遅延が重要な遷移値に注意してください:

ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: .5rem;
  font-size: 2.2rem;
}

ul li a {
  color: http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b000;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.5;
  padding-inline: .2em;
  display: block;
}
一連の3つのアニメーションがあります。グラデーションの高さを除去し、擬似エレメントをスライドさせ、勾配の高さを上げます。そのため、すべてをまとめるために遅延を設(shè)定する必要があります。これが、擬似要素スライドの場(chǎng)合、アニメーション期間(遷移:.2.2s)に等しい遅延がある理由ですが、成長(zhǎng)部分の場(chǎng)合、遅延は期間の2倍に等しくなります(遷移:.2s.4s)。

バウンス効果?なぜだめですか? !

強(qiáng)調(diào)表示された長(zhǎng)方形が小さな円に変形し、次のアイテムにジャンプしてから、再び長(zhǎng)方形に変形する別の奇妙なアニメーションを試してみましょう!

この例はあまり説明しません。これはコードを分析するための宿題だからです!何が起こっているのかを開梱できるように、いくつかのヒントを提供します。

前の効果と同様に、2つのアニメーションを組み合わせました。最初のものについては、各メニュー項(xiàng)目の擬似要素を使用します。変形をシミュレートするために、サイズ変更と國(guó)境となることを示します。 2番目のアニメーションでは、ul擬似要素を使用して小さな円を作成します。これはメニュー項(xiàng)目の間を移動(dòng)します。

これは、各アニメーションをより適切に視覚化するためのデモの別のバージョン、異なる色、より遅い遷移です。

トリッキーな部分はジャンプ効果です。奇妙なCubic-Bezier()を使用しましたが、CSS-Tricksの記事「Cubic-Bezier()を使用した高度なCSSアニメーション」でこの手法を説明する詳細(xì)な記事があります。

結(jié)論

アンカーポジショニング機(jī)能を使用して、この小さな実験を楽しんだことを願(yuàn)っています。 3つのプロパティ/値しか見ていませんが、この新しい機(jī)能を使用する準(zhǔn)備を整えるのに十分です。アンカー名とポジションアンカーの屬性は、要素(通常はこのコンテキストでは「ターゲット」要素と呼ばれる)を別の要素にリンクする必須部分です(このコンテキストでは「アンカー」要素を呼び出します)。そこから、Anchor()関數(shù)を使用して位置を制御できます。

関連:

cssアンカーポイントポイントガイド

以上がアンカーポジショニングを使用したファンシーメニューナビゲーションの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中國(guó)語版

SublimeText3 中國(guó)語版

中國(guó)語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ロードスピナーとアニメーションを作成するためのCSSチュートリアル ロードスピナーとアニメーションを作成するためのCSSチュートリアル Jul 07, 2025 am 12:07 AM

CSSロード回転子を作成するには3つの方法があります。1。境界の基本回転子を使用して、HTMLとCSSを介してシンプルなアニメーションを?qū)g現(xiàn)します。 2。複數(shù)のポイントのカスタム回転子を使用して、異なる遅延時(shí)間を経てジャンプ効果を?qū)g現(xiàn)します。 3.ボタンに回転子を追加し、JavaScriptを介してクラスを切り替えて、読み込みステータスを表示します。各アプローチは、ユーザーエクスペリエンスを向上させるために、色、サイズ、アクセシビリティ、パフォーマンスの最適化などのデザインの詳細(xì)の重要性を強(qiáng)調(diào)しています。

CSSブラウザの互換性の問題とプレフィックスに対処します CSSブラウザの互換性の問題とプレフィックスに対処します Jul 07, 2025 am 01:44 AM

CSSブラウザの互換性とプレフィックスの問題に対処するには、ブラウザサポートの違いを理解し、ベンダーのプレフィックスを合理的に使用する必要があります。 1. FlexBoxやグリッドのサポート、位置:粘著性の無効、アニメーションのパフォーマンスなどの一般的な問題を理解することは異なります。 2. CANIUSE確認(rèn)機(jī)能サポートステータスを確認(rèn)します。 3. -webkit-、-moz-、-ms-、-o-およびその他のメーカーのプレフィックスを正しく使用します。 4.自動(dòng)的にプレフィックスを追加するためにAutoprefixerを使用することをお?jiǎng)幛幛筏蓼埂?5. PostCSSをインストールし、ターゲットブラウザを指定するようにBrowserSlistを構(gòu)成します。 6.建設(shè)中の互換性を自動(dòng)的に処理します。 7. Modernizr検出機(jī)能は、古いプロジェクトに使用できます。 8.すべてのブラウザの一貫性を追求する必要はありません、

ディスプレイの違いは何ですか:インライン、ディスプレイ:ブロック、ディスプレイ:インラインブロック? ディスプレイの違いは何ですか:インライン、ディスプレイ:ブロック、ディスプレイ:インラインブロック? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:インライン、ブロック、およびinline-blockinhtml/cssarelayoutbehavior、spaceusage、andstylingcontrol.1.inlineelementsflowwithtext、notstartonnewlines、nagrorewidth/height、height、andonlyhorizo??ntalpadddddddddddddddding

スタイリングは、CSSとは異なるリンクを訪問しました スタイリングは、CSSとは異なるリンクを訪問しました Jul 11, 2025 am 03:26 AM

アクセスしたリンクのスタイルを設(shè)定すると、特にコンテンツ集約型のWebサイトでユーザーエクスペリエンスを向上させることができ、ユーザーがより良いナビゲートを支援します。 1。CSSを使用してください:訪問した擬似クラスは、色の変化などの訪問されたリンクのスタイルを定義します。 2。ブラウザは、プライバシーの制限により、いくつかの屬性の変更のみを許可することに注意してください。 3.突然の狀態(tài)を避けるために、色の選択は全體的なスタイルと調(diào)整する必要があります。 4.モバイル端子はこの効果を表示しない場(chǎng)合があり、アイコン補(bǔ)助ロゴなどの他の視覚的なプロンプトと組み合わせることをお?jiǎng)幛幛筏蓼埂?/p>

CSSクリップパスでカスタムシェイプを作成します CSSクリップパスでカスタムシェイプを作成します Jul 09, 2025 am 01:29 AM

CSSのクリップパス屬性を作物要素に使用して、寫真やSVGに依存することなく、三角形、円形ノッチ、ポリゴンなどのカスタム形狀になります。その利點(diǎn)には、次のものが含まれます。1。円、楕円、ポリゴンなどのさまざまな基本的な形狀をサポートします。 2。レスポンシブ調(diào)整とモバイル端子に適応可能。 3.アニメーションが簡(jiǎn)単で、HoverまたはJavaScriptと組み合わせて動(dòng)的効果を?qū)g現(xiàn)できます。 4.レイアウトフローには影響せず、ディスプレイエリアのみを収穫します。一般的な使用法は、円形のクリップパス:円(50pxatcenter)および三角クリップパス:ポリゴン(50%0%、100 0%、0 0%)などです。知らせ

CSSペイントAPIとは何ですか? CSSペイントAPIとは何ですか? Jul 04, 2025 am 02:16 AM

thecsspaintingapienablesdynamicimagegeneration incssusingjavascript.1.developerscreateapaintclasswithapaint()method.2.they registeritviaregisterpaint()

CSSを使用して応答性のある畫像を作成する方法は? CSSを使用して応答性のある畫像を作成する方法は? Jul 15, 2025 am 01:10 AM

CSSを使用してレスポンシブ畫像を作成するには、主に次の方法で達(dá)成できます。1。最大幅を使用してください:100%と高さ:自動(dòng)化して、割合を維持しながら畫像がコンテナ幅に適応できるようにします。 2。HTMLのSRCSETおよびサイズの屬性を使用して、異なる畫面に適合した畫像ソースをインテリジェントにロードします。 3.オブジェクトフィットとオブジェクトポジションを使用して、畫像のトリミングとフォーカスディスプレイを制御します。一緒に、これらの方法により、畫像がさまざまなデバイスで明確かつ美しく表示されるようになります。

一般的なCSSブラウザの矛盾とは何ですか? 一般的なCSSブラウザの矛盾とは何ですか? Jul 26, 2025 am 07:04 AM

さまざまなブラウザのCSS解析に違いがあるため、主にデフォルトのスタイルの違い、ボックスモデルの計(jì)算方法、フレックスボックスおよびグリッドレイアウトサポートレベル、および特定のCSS屬性の一貫性のない動(dòng)作を含む一貫性のないディスプレイ効果が得られます。 1.デフォルトのスタイル処理は一貫性がありません。解決策は、cssresetまたはremormize.cssを使用して初期スタイルを統(tǒng)合することです。 2。IEの古いバージョンのボックスモデル計(jì)算方法は異なります。 Box-Sizing:Border-Boxを統(tǒng)一された方法で使用することをお?jiǎng)幛幛筏蓼埂?3. FlexBoxとグリッドは、エッジの場(chǎng)合や古いバージョンでは異なる機(jī)能を示します。より多くのテストを行い、Autoprefixerを使用します。 4.一部のCSS屬性の動(dòng)作は一貫性がありません。 Caniuseは相談して格下げする必要があります。

See all articles