国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
最初のアニメーションは非常に簡単です。各プロジェクトには獨(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)れたホバーエフェクトを作成します。

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

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

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

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

<nav><ul>
<li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Home</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">About</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Projects</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Blog</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Contact</a></li>
  </ul></nav>
ユースケースが異なる場合にも異なる場合があるため、この構(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://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b000;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.5;
  padding-inline: .2em;
  display: block;
}
これまでのところ、特別なものはありません。いくつかのデフォルトスタイルを削除し、FlexBoxを使用して要素を水平方向に整列させました。

スライディング効果

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

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

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

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

最初の部分では、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)目がホバリングされているか、アクティブなクラスがある場合、高さを100%に設(shè)定します。ここでの遅延の使用に注意して、収縮後に成長が発生することを確認(rèn)してください。

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

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

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

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

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

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

Anchor-Name屬性を使用して、アンカーポイントを定義します。メニュー項(xià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://m.miracleart.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ù)は、アンカー位置決め要素の埋め込み屬性値で使用でき、関連するアンカー要素エッジ位置に比べて長さの値を返します。

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

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

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

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

<nav><ul>
<li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Home</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">About</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Projects</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Blog</a></li>
    <li><a href="http://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Contact</a></li>
  </ul></nav>
言い換えれば、左、右、下などの物理的特性を使用する代わりに、挿入図の略語に頼ることができ、ポジションアンカーを定義する代わりに、アンカーの名前をアンカー()関數(shù)に含めることができます。ここで同じ名前を3回繰り返しましたが、これは最良の選択肢ではないかもしれませんが、場合によっては、要素に複數(shù)のアンカーを検討することを望むかもしれません。その場合、この構(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://m.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b000;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.5;
  padding-inline: .2em;
  display: block;
}
一連の3つのアニメーションがあります。グラデーションの高さを除去し、擬似エレメントをスライドさせ、勾配の高さを上げます。そのため、すべてをまとめるために遅延を設(shè)定する必要があります。これが、擬似要素スライドの場合、アニメーション期間(遷移:.2.2s)に等しい遅延がある理由ですが、成長部分の場合、遅延は期間の2倍に等しくなります(遷移:.2s.4s)。

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

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

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

前の効果と同様に、2つのアニメーションを組み合わせました。最初のものについては、各メニュー項(xiàng)目の擬似要素を使用します。変形をシミュレートするために、サイズ変更と國境となることを示します。 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 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中國語版

SublimeText3 中國語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

「レンダリングブロッキングCSS」とは何ですか? 「レンダリングブロッキングCSS」とは何ですか? Jun 24, 2025 am 12:42 AM

ブラウザは、特にインポートされたスタイルシート、ヘッダーのインラインCSS、および最適化されていないメディアクエリスタイルを使用して、ブラウザがインラインおよび外部CSSをデフォルトで主要なリソースとして表示するため、ページレンダリングをブロックします。 1.重要なCSSを抽出し、HTMLに埋め込みます。 2。JavaScriptを介して非クリティカルなCSSの読み込みを遅らせる。 3.メディア屬性を使用して、印刷スタイルなどのロードを最適化します。 4.リクエストを減らすためにCSSを圧縮およびマージします。ツールを使用してキーCSSを抽出し、REL = "Preload"非同期負(fù)荷を組み合わせ、過度の分割と複雑なスクリプト制御を避けるためにメディア遅延荷重を合理的に使用することをお?jiǎng)幛幛筏蓼埂?/p>

外部対內(nèi)部CSS:最良のアプローチは何ですか? 外部対內(nèi)部CSS:最良のアプローチは何ですか? Jun 20, 2025 am 12:45 AM

TheBestAppRoachforCSDependsonTheProject'sSpecificNeeds.forLargerProjects、externalCssissisbetterduetoMaintainasiladability; forsmallerProjectsOrsingLe-PageApplications、internalcsSmightBemoresuitable.it

私のCSSは小文字でなければなりませんか? 私のCSSは小文字でなければなりませんか? Jun 19, 2025 am 12:29 AM

いいえ、CSSDOESNOTHAVETOBEINLOWERCASE。

CSSケース感度:重要なことを理解する CSSケース感度:重要なことを理解する Jun 20, 2025 am 12:09 AM

cssismostlycase-inssensitive、buturlsandfontfamilynamesarecase-sensitive.1)propertiesandvalueslikecolor:red; areotcase-sensitive.2)urlsmustmatchtheserver'scase、例えば、/畫像/logo.png.3)

Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Jul 02, 2025 am 01:15 AM

Autoprefixerは、ターゲットブラウザスコープに基づいてCSS屬性にベンダープレフィックスを自動(dòng)的に追加するツールです。 1.エラーで接頭辭を手動(dòng)で維持する問題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある屬性を分析し、構(gòu)成に従ってコードを生成する屬性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設(shè)定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辭を手動(dòng)で追加しない、構(gòu)成の更新を保持すること、すべての屬性ではなくプレフィックスを維持することが含まれ、プリ??プロセッサでそれらを使用することをお?jiǎng)幛幛筏蓼埂?/p>

CSSカウンターとは何ですか? CSSカウンターとは何ですか? Jun 19, 2025 am 12:34 AM

csScountersCantAnationally-bersectionSandLists.1)usecounter-resettoinitialize、counter-incrementtoincrease、andcounter()orcounters()todisplayvalues.2)を組み合わせたjavascriptfordynamiccontenttoensureaCurateupdatesと組み合わせます。

CSS:ケースはいつ重要ですか(いつそうではありませんか)? CSS:ケースはいつ重要ですか(いつそうではありませんか)? Jun 19, 2025 am 12:27 AM

CSSでは、セレクターと屬性名はケースに敏感ですが、値、名前の色、URL、およびカスタム屬性はケースに敏感です。 1.バックグラウンドカラーや背景色など、セレクターと屬性名はケース非感受性です。 2。値の16進(jìn)數(shù)色は大文字と小文字を區(qū)別しますが、赤と赤などの名前の色は無効です。 3. URLは癥例に敏感であり、ファイルロードの問題を引き起こす可能性があります。 4.カスタムプロパティ(変數(shù))はケースに敏感であり、使用する場合はケースの一貫性に注意を払う必要があります。

conic-gradient()関數(shù)とは何ですか? conic-gradient()関數(shù)とは何ですか? Jul 01, 2025 am 01:16 AM

TheConic-Gradient()functionsscreateScular勾配の勾配は、測定されていることを確認(rèn)してください

See all articles