目次
に設定する)、CSSグリッドが幅を0FRに設定するときにその存在を認めなければならないことです。
この「アニメーションモンドリアン」は、Chrome Devrelが生成するアニメーションCSSグリッドの概念の初期証明です。
ホームページ ウェブフロントエンド CSSチュートリアル CSSグリッドのアニメーション(例の方法)

CSSグリッドのアニメーション(例の方法)

Mar 09, 2025 pm 01:11 PM

Animating CSS Grid (How To   Examples)

CSS Gridのgrid-template-rowsgrid-template-columnsおよび

プロパティが、すべてのメジャーブラウザでアニメーションに利用できるようになりました!実際、CSSグリッドは、CSSグリッドレイアウトモジュールレベル1仕様に組み込まれているため、アニメーションを長い間サポートしてきました。

しかし、最近まで、3つの主要なブラウザはすべて、これらのメッシュプロパティのアニメーションを完全にサポートしています。あなたの創造性を刺激するためのいくつかの例を見てみましょう!

カタログ
  • カタログ
  • 例1:サイドバーを展開します
  • 例2:パネルを展開します
  • 例3:行と列を追加
  • その他の例

例1:サイドバーを展開します

まず、これが私たちが議論しようとしていることです:

単純な2列グリッド。以前は、アニメーションとトランジションがサポートされていないため、おそらくCSSグリッドでそれを構築していなかったでしょうが、左列(おそらくサイドバーナビゲーション)がホバーで拡張する必要がある場合はどうでしょうか?今、これは可能です。

私はあなたが考えていることを知っています:「アニメーションCSS属性?ケーキ、私は長年それをやっています!」しかし、特定のユースケースを試すと、興味深いハードルに遭遇しました。

.gridしたがって、メッシュ自体を変換したい(特に、例のgrid-template-columnsクラスに設定されたセット)。ただし、左の列(.left)は、:hover

HTMLから始めて、プロセス全体を段階的に説明しましょう。それは実際には非常に標準的です... 2つの列のあるグリッド。

<div class="grid">
  <div class="left"></div>
  <div class="right"></div>
</div>
ログイン後にコピー
ログイン後にコピー
装飾CSSは別として、最初に親コンテナ(

)に.gridを設定する必要があります。 display: grid

.grid {
  display: grid;
}
ログイン後にコピー
ログイン後にコピー
次に、

属性を使用して、2つの列を定義およびサイズ変更できます。左の列を非常に狭く設定し、後でホバリングすると幅を増やします。右側の列は、grid-template-columnsキーワードのおかげで、残りのスペースを占有します。 auto

.grid {
  display: grid;
  grid-template-columns: 48px auto;
}
ログイン後にコピー
ログイン後にコピー
アニメーション化したいことがわかっているので、アニメーションを追加しながら遷移効果を追加して、状態間の変更がスムーズで明白になるようにしましょう。

.grid {
  display: grid;
  grid-template-columns: 48px auto;
  transition: 300ms; /* 根据需要更改 */
}
ログイン後にコピー

完成しました!残りはアプリケーションホバー状態です。具体的には、左の列がホバリング時により多くのスペースを占めるように、.gridプロパティをオーバーライドします。 grid-template-columns CSSグリッドはアニメーションとトランジションをサポートしていますが、これだけではそれだけではありません。さらに興味深いのは、比較的新しい pseudoクラスを使用して、子要素(

)がホバリングされているときに親コンテナ(

)をスタイリングできることです。 :has()

<div class="grid">
  <div class="left"></div>
  <div class="right"></div>
</div>
ログイン後にコピー
ログイン後にコピー

これは、「.gridコンテナが.leftという名前の要素がホバリングしている場合、.gridコンテナでいくつかの操作を実行することを意味します。最終的に、それに含まれる子要素に基づいて親要素を選択できます - JavaScriptは必要ありません! :has()

では、ホバリング時に

列の幅を30%に増やしましょう。 .left列は、残りのすべてのスペースを引き続き占有します:.right

個人の好みに応じて(またはプロジェクトで既にCSS変数を使用する場合がある)、簡潔に見える場合とそうでない場合があるCSS変数を使用することもできます。
.grid {
  display: grid;
}
ログイン後にコピー
ログイン後にコピー

CSSグリッドがアニメーションを作成できるようになりましたが、CSSコードの9行のみでこの特定の例を作成できるという事実はさらに驚くべきものです。

.grid {
  display: grid;
  grid-template-columns: 48px auto;
}
ログイン後にコピー
ログイン後にコピー
これはOlivia ngの別の例です。これは概念ですが、コンテンツが含まれています(ナビゲーションアイコンをクリックしてください):

例2:パネルを展開します

この例は、グリッドコンテナ(列幅)を変換し、個々の列(背景色)も変換します。ホバーでより多くのコンテンツを提供するのに最適です。

関数が間違った遷移を生成することがあることを覚えておく価値があります。そのため、各列の幅を個別に設定します(つまり、

)。

repeat()例3:行と列を追加grid-template-columns: 1fr 1fr 1fr

この例は、グリッドの列をアニメーション化します。しかし、あなたはそれを推測しました - この状況にもtrapがあります。要件は、「新しい」列を隠すことができない(つまり、

に設定する)、CSSグリッドが幅を0FRに設定するときにその存在を認めなければならないことです。

したがって、3列のグリッドの場合 -

(はい、値が0であってもユニットを宣言する必要があります!)はdisplay: noneに正しく変換されますが、

はそうではありません。後知恵では、これは実際には、移行がどのように機能するかについての理解を考えると、完全に合理的です。

grid-template-columns: 1fr 1fr 0frこれはミシェル・バーカーのもう1つの例です。同じ概念ですが、列とよりクールな効果があります。実際に応答性が高いので、この例をフルスクリーンモードで実行してください(トリックはなく、デザインだけです!)。 grid-template-columns: 1fr 1fr 1fr grid-template-columns: 1fr 1frその他の例

なぜ?

この「アニメーションモンドリアン」は、Chrome Devrelが生成するアニメーションCSSグリッドの概念の初期証明です。

および

キーワードを使用して、前に表示されるレイアウトを作成し、CSSアニメーションを使用して

をアニメーション化します。見た目ほど複雑ではありません! grid-row grid-column同じ概念ですが、ミシェルバーカーのクールな効果の詳細。あなたは良いロードスピナーを作ることができますか? span

最後に懐かしさ(私はここに年齢)を確認し、アンドリューハーバードはグリッドのようなアニメーションCSSグリッドを作ります。同じ - 同じ概念 - 他のグリッドアイテムが表示されません。しかし、心配しないでください、彼らはそこにいます。

以上が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)

Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 Apr 11, 2025 am 11:29 AM

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

HTMLデータ属性ガイド HTMLデータ属性ガイド Apr 11, 2025 am 11:50 AM

HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

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

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

SVGでタータンパターンを生成する静的サイトを作成する方法 SVGでタータンパターンを生成する静的サイトを作成する方法 Apr 09, 2025 am 11:29 AM

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

WordPressテーマでVueコンポーネントを構築する方法 WordPressテーマでVueコンポーネントを構築する方法 Apr 11, 2025 am 11:03 AM

インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

あなたが見ている間、CSSグラデーションは良くなりました あなたが見ている間、CSSグラデーションは良くなりました Apr 11, 2025 am 09:16 AM

Lea verou&#039; conic-gradient()Polyfillの機能のリストに目を向けたことの1つが最後の項目でした。

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

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

See all articles