目次
HTML 構造
CSS アニメーションの専門家 Ana Tudor による解説
CSS Flip Switch
CSS 垂直反転
IE ブラウザをサポート
ホームページ ウェブフロントエンド htmlチュートリアル CSS_html/css_WEB-ITnose で反転アニメーションを作成する

CSS_html/css_WEB-ITnose で反転アニメーションを作成する

Jun 24, 2016 am 11:23 AM

CSS アニメーションは非常に興味深いもので、エレガントなフェードインからより見事な効果まで、いくつかの簡単な属性で作成できます。コンテナの前面と背面に異なるアニメーションが含まれています。実装する内容。この記事では、この効果を達成するために可能な限り最も簡単な方法を使用します。

Card Flip Effect

View Demo

注: この記事は、このエフェクトの実行方法を説明する最初の記事ではありませんが、これに関する多くの記事は複雑すぎて、多くの余分なスタイルを追加していることがわかりましたコード この場合、読者はどのコードが必要でどのコードが不要であるかを判断できません。この記事ではこの問題は発生しません。必要なスタイルがいくつか含まれているだけで、めくる各ページを自由に美しくすることができます。

HTML 構造

次の HTML 構造は、2 つの側面を持つ効果を実現するためのものです:

<div class="flip-container" ontouchstart="this.classList.toggle('hover');">    <div class="flipper">        <div class="front">            <!-- 正面内容 -->        </div>        <div class="back">            <!-- 反面内容 -->        </div>    </div></div>
ログイン後にコピー

ご想像のとおり、コンテンツ パネルは 2 つあります: 表と裏です。含まれている CSS スタイルがそれほど多くないことに驚かれるでしょう:

/* 整个容器,包括透视 */.flip-container {    perspective: 1000;}/* 鼠标放上去的时候翻转 */.flip-container:hover .flipper, .flip-container.hover .flipper {    transform: rotateY(180deg);}.flip-container, .front, .back {    width: 320px;    height: 480px;}/* 翻转速度设置 */.flipper {    transition: 1.5s;    transform-style: preserve-3d;    position: relative;}/* 翻转页的时候隐藏背面 */.front, .back {    backface-visibility: hidden;    position: absolute;    top: 0;    left: 0;}/* 前面板放在上面 */.front {    z-index: 2;    /* for firefox 31 */    transform: rotateY(0deg);}/* 背面初始的时候隐藏 */.back {    transform: rotateY(180deg);}
ログイン後にコピー

一般的な実装プロセスを見てみましょう:

  • 一番外側のコンテナはアニメーション領域全体の視点範囲を設定します
  • 内側のコンテナは実際には反転に使用されます。親コンテナがアクティブ化されると、要素は 180 度反転されます。ここでフリップ速度を制御します。フリップ角度を -180 度に変更すると、反対方向にフリップされます。
  • 前面と背面の要素は、お互いの上にうまく重なるように明確に配置されています。 backface-visibility プロパティは非表示になっているため、前面または背面が表示されている場合、背面は非表示になります。
  • フロント要素はリバース要素よりも高い z-index 属性値を持っているため、事前にエンコードして上部に表示できます。
  • 反転要素を 180 度回転させて裏側になります。

これで、このシンプルな構造を配置したい場所に配置し、必要な前面と背面のスタイルを変更するだけです。

CSS アニメーションの専門家 Ana Tudor による解説

カード要素の属性に特定の値 (overflow: hidden など) を設定すると、3D 変換された子要素が無効になります。私はかつてこのように設定したため、これは重要であると考えています。その結果、すべての子要素が同じ 3D 変換を持つことになりました。

CSS Flip Switch

要素の反転を制御するために JavaScript コードを使用したい場合は、単純な CSS クラス スタイルで十分です

.flip-container:hover .flipper, .flip-container.hover .flipper, .flip-container.flip .flipper {    transform: rotateY(180deg);}
ログイン後にコピー

この反転クラス スタイルを JavaScript で制御したい要素に追加し、以下を使用しますJavaScript コードは機能します。

document.querySelector("#myCard").classList.toggle("flip")
ログイン後にコピー

CSS 垂直反転

垂直反転を実現するには、変換元の座標軸の値を追加する必要があります。垂直方向に反転するには、元の反転スタイルを更新する必要があります。

rreee

X軸を中心に反転した効果が確認できます。

IE ブラウザをサポート

IE ブラウザと互換性を持たせるには、コードにいくつかの変更を加える必要があります。IE はまだ最新の変換属性のすべてと互換性がないためです。 基本的に、前後の要素が同時に反転されます。

.vertical.flip-container {    position: relative;}.vertical .back {    transform: rotateX(180deg);}.vertical.flip-container .flipper {    transform-origin: 100% 213.5px; /* 高度值的一半 */}.vertical.flip-container:hover .flipper {    transform: rotateX(-180deg);}
ログイン後にコピー

上記のコードはIE10以降で動作します。

デモを見る

CSS反転アニメーションは非常に古典的であり、CSSアニメーションの応用例の代表例です。もう少し詳しく見てみると、これは 3D CSS アニメーション効果であり、CSS コードは実際には非常に小さいです。この効果は、HTML5 ゲームにとって非常にエレガントです。カードのような効果としては、まさに完璧です。

この記事は https://davidwalsh.name/css-flip から翻訳されたものです

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? 公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? Mar 04, 2025 pm 12:32 PM

公式アカウントのWebページはキャッシュを更新します。これはシンプルでシンプルで、ポットを飲むのに十分な複雑です。あなたは公式のアカウントの記事を更新するために一生懸命働きましたが、ユーザーはまだ古いバージョンを開くことができますか?この記事では、この背後にあるtwist余曲折と、この問題を優雅に解決する方法を見てみましょう。それを読んだ後、さまざまなキャッシュの問題に簡単に対処でき、ユーザーが常に新鮮なコンテンツを体験できるようになります。最初に基本について話しましょう。それを率直に言うと、アクセス速度を向上させるために、ブラウザまたはサーバーはいくつかの静的リソース(写真、CSS、JSなど)やページコンテンツを保存します。次回アクセスするときは、もう一度ダウンロードすることなく、キャッシュから直接検索できます。自然に高速です。しかし、このことは両刃の剣でもあります。新しいバージョンはオンラインです、

WebページのPNG画像にストローク効果を効率的に追加する方法は? WebページのPNG画像にストローク効果を効率的に追加する方法は? Mar 04, 2025 pm 02:39 PM

この記事では、CSSを使用したWebページへの効率的なPNG境界追加を示しています。 CSSはJavaScriptやライブラリと比較して優れたパフォーマンスを提供し、微妙または顕著な効果のために境界幅、スタイル、色を調整する方法を詳述していると主張しています

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

See all articles