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>装飾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
.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
に設定する)、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 サイトの他の関連記事を参照してください。

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。

記事では、レスポンシブデザインにおけるスペースの効率的なアラインメントと分布のためのレイアウト方法であるCSS FlexBoxについて説明します。 FlexBoxの使用量を説明し、CSSグリッドと比較し、ブラウザのサポートを詳細に説明します。

この記事では、ビューポートメタタグ、柔軟なグリッド、流体メディア、メディアクエリ、相対ユニットなど、CSSを使用してレスポンシブWebサイトを作成するための手法について説明します。また、CSSグリッドとフレックスボックスを使用してカバーし、CSSフレームワークを推奨しています

この記事では、要素の寸法の計算方法を制御するCSSボックスサイズのプロパティについて説明します。コンテンツボックス、ボーダーボックス、パディングボックスなどの値と、レイアウト設計とフォームアライメントへの影響について説明します。

記事では、CSS、キープロパティ、およびJavaScriptとの組み合わせを使用してアニメーションの作成について説明します。主な問題は、ブラウザの互換性です。

記事では、3D変換、主要なプロパティ、ブラウザの互換性、およびWebプロジェクトのパフォーマンスに関する考慮事項にCSSを使用して説明します。

この記事では、CSSグラデーション(線形、放射状、繰り返し)を使用して、ウェブサイトのビジュアルを強化し、深さ、フォーカス、および現代の美学を追加します。

記事では、CSSの擬似要素、HTMLスタイリングの強化における使用、および擬似クラスとの違いについて説明します。実用的な例を提供します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版
便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









