CSSグリッドのアニメーション(例の方法)
CSS Gridのgrid-template-rows
grid-template-columns
および
しかし、最近まで、3つの主要なブラウザはすべて、これらのメッシュプロパティのアニメーションを完全にサポートしています。あなたの創造性を刺激するためのいくつかの例を見てみましょう!
カタログ
- カタログ
- 例1:サイドバーを展開します
- 例2:パネルを展開します
- 例3:行と列を追加
- その他の例
例1:サイドバーを展開します
まず、これが私たちが議論しようとしていることです:
単純な2列グリッド。以前は、アニメーションとトランジションがサポートされていないため、おそらくCSSグリッドでそれを構築していなかったでしょうが、左列(おそらくサイドバーナビゲーション)がホバーで拡張する必要がある場合はどうでしょうか?今、これは可能です。
私はあなたが考えていることを知っています:「アニメーションCSS属性?ケーキ、私は長年それをやっています!」しかし、特定のユースケースを試すと、興味深いハードルに遭遇しました。
.grid
したがって、メッシュ自体を変換したい(特に、例のgrid-template-columns
クラスに設定されたセット)。ただし、左の列(.left
)は、
<div class="grid"> <div class="left"></div> <div class="right"></div> </div>
)に.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
.grid { display: grid; }
CSSグリッドがアニメーションを作成できるようになりましたが、CSSコードの9行のみでこの特定の例を作成できるという事実はさらに驚くべきものです。
.grid { display: grid; grid-template-columns: 48px auto; }
例2:パネルを展開します
この例は、グリッドコンテナ(列幅)を変換し、個々の列(背景色)も変換します。ホバーでより多くのコンテンツを提供するのに最適です。
関数が間違った遷移を生成することがあることを覚えておく価値があります。そのため、各列の幅を個別に設定します(つまり、
)。
repeat()
例3:行と列を追加grid-template-columns: 1fr 1fr 1fr
に設定する)、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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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