ホームページ ウェブフロントエンド H5 チュートリアル HTML5とCSS3を使用してGoogle落書きアニメーションを完成させる方法

HTML5とCSS3を使用してGoogle落書きアニメーションを完成させる方法

Mar 16, 2017 pm 01:17 PM
css3アニメーション

今日はcss3を使ってGoogle Doodleアニメーションを完成させる方法を紹介します。デモページの[スタート]ボタンをクリックすると、ページ上の人馬が動きます
ここで強調しておきたいのは、IEはCSS3のアニメーション属性をサポートしていないということです。邪悪なIEが再び。しかし、これを css3 を採用しない理由にすることはできません。
まず HTML コードを見てみましょう。

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
<link rel="stylesheet" type="text/css" 
href="css/google-doodle-animation-in-css3-without-javascript.css"/> 
</head> 
<body> 
<p id="logo"> 
<p 
class="frame"> 
<img src="img/muybridge12-hp-v.png"/> 
</p> 
<label for="play_button" 
id="play_label"></label> 
<input type="checkbox" id="play_button" 
name="play_button"/> 
<span id="play_image"> 
<img 
src="img/muybridge12-hp-p.jpg"/> 
</span> 
<p 
class="horse"></p> 
<p class="horse"></p> 
<p class="horse"></p> 
</p> 
</body> 
</html>

以下は CSS の一部です。

*{margin:0px;padding:0px;} 
#logo{position: relative;} 
.horse{ 
width:469px; 
height:54px; 
background: 
url(&#39;../img/muybridge12-hp-f.jpg&#39;); 
} 
.frame{position:absolute;left:0;top:0;z-index: 1;} 
#play_button{display: 
none;} 
#play_label{ 
width:67px; 
height:54px; 
display:block; 
position: absolute; 
left:201px; 
top:54px; 
z-index: 2; 
} 
#play_image{ 
position: absolute; 
left:201px; 
top:54px; 
z-index: 0; 
overflow: hidden; 
width: 68px; 
height: 55px; 
} 
#play_image img{ 
position: absolute; 
left: 0; 
top: 0; 
}

コードのこの部分はそれほど難しくないので、詳しくは説明しません。 CSS の基礎があまりしっかりしていない読者は、[スタート] ボタンがどのように配置されているのか疑問に思うかもしれません。位置属性を自分で読んで、Absolute の特定の役割を理解することができます。
以下は上記のHTMLとCSSコードで完成したページ効果です。
アニメーション効果の作成方法を紹介します。まず、さまざまな段階でのアニメーションの効果を指定するキーフレームを定義する必要があります。
horse-ride というキーフレームを作成しました。Chrome と Firefox の場合は、先頭に -webkit- または -moz- プレフィックスを追加する必要があります。 0% と 100% はそれぞれコードの始まりと終わりで、50% のアニメーション効果など、必要に応じて新しいケースを追加できます。

@-webkit-keyframes horse-ride { 
% {background-position: 0 0;} 
% 
{background-position: -804px 0;} 
} 
@-moz-keyframes horse-ride { 
% 
{background-position: 0 0;} 
% {background-position: -804px 0;} 
}

次に、馬に CSS3 アニメーション効果を追加してみましょう。

#play_button:checked ~.horse{ 
-webkit-animation:horse-ride 0.5s 
steps(12,end) infinite; 
-webkit-animation-delay:2.5s; 
-moz-animation:horse-ride 0.5s steps(12,end) infinite; 
-moz-animation-delay:2.5s; 
background-position: -2412px 0; 
-webkit-transition: all 2.5s cubic-bezier(0.550, 0.055, 0.675, 0.190); 
-moz-transition: all 2.5s cubic-bezier(0.550, 0.055, 0.675, 0.190); 
}

ここで最初に :checked と ~ を紹介します。:checked は #play_button が選択されたときの CSS 効果を参照する疑似クラスで、~ は #play_button の兄弟ノードを参照します。
次に、.horseに関するcss属性を紹介します。アニメーションでは、キーフレーム (上で定義した馬に乗る)、アニメーション間隔、アニメーション効果、実行回数を表す 4 つの値を使用します。次に、アニメーション遅延時間を介してアニメーション遅延時間を設定します。トランジションとbackground-positionを組み合わせて背景トランジションアニメーションを設定します。
最後に、[スタート]ボタンにアニメーション効果を追加します。

#play_button:checked ~#play_image img{ 
left:-68px; 
-webkit-transition: 
all 0.5s ease-in; 
-moz-transition: all 0.5s ease-in; 
}


自分で開発してみることもできます。

関連記事:

純粋な CSS3 ベースの 6 つの手描き落書きボタン効果

JavaScript HTML5 キャンバスに基づいて調整可能ブラシの色/太さ/消しゴム付き落書きボード

落書きボードのHTML5簡易実装サンプルコード

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ホットトピック

なぜ私の画像がHTMLに表示されないのですか? なぜ私の画像がHTMLに表示されないのですか? Jul 28, 2025 am 02:08 AM

表示されていない画像は、通常、ファイルパスの間違ったパス、ファイル名または拡張機能、HTML構文の問題、またはブラウザキャッシュによって引き起こされます。 1. SRCパスがファイルの実際の位置と一致していることを確認し、正しい相対パスを使用します。 2.ファイル名のケースと拡張機能が正確に一致するかどうかを確認し、URLに直接入力して画像をロードできるかどうかを確認します。 3.IMGタグ構文が正しいかどうかを確認し、冗長文字がなく、ALT属性値が適切であることを確認してください。 4.ページを強制的に更新するか、キャッシュをクリアするか、Incognitoモードを使用してキャッシュ干渉を排除してください。この順序でのトラブルシューティングは、ほとんどのHTML画像表示の問題を解決できます。

HTML5でラジオボタンを使用する方法は? HTML5でラジオボタンを使用する方法は? Jul 21, 2025 am 01:08 AM

HTML5でラジオボタンを使用する鍵は、それらがどのように機能するかを理解し、コード構造を正しく整理することです。 1。各ラジオボタンの名前属性は、相互に排他的な選択を実現するために同じでなければなりません。 2。ラベルタグを使用して、アクセシビリティを向上させ、エクスペリエンスをクリックします。 3.構造的な明確さとスタイル制御を強化するために、各オプションをDIVまたはラベルにラップすることをお勧めします。 4.チェックされた属性を介してデフォルトの選択を設定します。 5.値値は簡潔で意味のあるものでなければならず、これはフォームの提出処理に便利です。 6.スタイルはCSSを通じてカスタマイズできますが、機能を正常にすることを保証する必要があります。これらの重要なポイントを習得すると、一般的な問題を効果的に回避し、使用の有効性を改善できます。

アストロを使用したヘッドレスCMSおよび静的サイト生成(SSG) アストロを使用したヘッドレスCMSおよび静的サイト生成(SSG) Jul 26, 2025 am 07:31 AM

Astroの静的サイト生成(SSG)と組み合わせてヘッドレスCMSを使用して、高性能のコンテンツ駆動型Webサイトを構築します。 2.astroは、APIおよびプリレンダーを介して静的ページとして、ヘッドレスCMS(Sanity、Contentful、Strapi、WordPress、DatoCMSなど)からコンテンツを取得します。 3。getStaticPaths()を使用してページパスを生成し、CMSAPIコールを介してデータを取得し、フロントエンドからコンテンツを分離します。 4.利点には、優れたパフォーマンス(高速荷重、SEOフレンドリー)、フレンドリーな編集体験、建築柔軟性、高いセキュリティ、スケーラビリティが含まれます。 5。コンテンツの更新では、サイトの再構築が必要です。CMSWebhookを使用してタッチできます

getUsermediaでのH5バーコードとQRコードスキャン getUsermediaでのH5バーコードとQRコードスキャン Jul 20, 2025 am 02:03 AM

H5ページは、主にGetUserMediaを呼び出してカメラの権限を取得し、リアルタイムの識別のためにデコードライブラリと組み合わせて、バーコードとQRコードスキャン機能を実現します。 1.最初にgetUsermediaを使用してカメラの権限を取得し、ビデオストリームをタグに結合します。 HTTPS環境とデバイスサポートの違いに注意してください。 2。ビデオフレームを傍受して画像データを抽出することにより、認識頻度を制御してパフォーマンスを最適化します。 3. ZxingやQuaggajsなどのデコードライブラリを使用して、画像認識のために、認識の結果が揺れるのを防ぐことをお勧めします。 4.互換性の観点から、ビデオの制約を設定して、デバイスの適応を最適化し、UIプロンプトを介してユーザーエクスペリエンスを改善することができます。 5。パフォーマンスの最適化の観点から、メインのブロックを避けるためにウェブワーカーを使用してデコードタスクを実行することをお勧めします

タグはまだHTML5で使用されていますか? タグはまだHTML5で使用されていますか? Jul 21, 2025 am 02:47 AM

はい、それはHTML5の一部ですが、その使用は徐々に減少しており、物議を醸しています。メインタイトルをサブタイトルと組み合わせるために使用されるため、ドキュメントの概要で最高レベルのタイトルのみが識別されます。たとえば、メインタイトルとサブタイトルは、独立した章のタイトルではなく、補助タイトルのみであることを示すために包み込むことができます。ただし、それらが広く使用されなくなった理由は次のとおりです。1。ブラウザとスクリーンリーダーは、それらのサポートを一貫していません。2。スタイルを制御するためにCSSを使用するなど、より単純な代替手段があります。それにもかかわらず、それはまだ高いセマンティック要件を持つウェブサイトまたはドキュメントで考慮することができます。ほとんどの場合、開発者は単一を使用し、CSSを介してスタイルを管理し、明確なタイトルレベルを維持する傾向があります。

高度な制御表面のH5 Web MIDI API 高度な制御表面のH5 Web MIDI API Jul 19, 2025 am 03:04 AM

WebMidiapiを使用して高度な制御インターフェイスを構築するには、最初にデバイスのアクセス許可を取得し、navigator.requestmidiaccess()およびプロセス入力および出力デバイスを介した承認を要求する必要があります。第二に、input.addeventListenerを介してノブ操作を聴くなど、MIDIメッセージを聞いたり送信したり、output.sendを介してLEDコントロールの指示を送信します。また、さまざまなコントローラーに適応したり、構成ファイルを確立したり、ユーザー定義のマッピング機能を提供したりする必要があります。最後に、リアルタイムの応答、エラー処理、デバッグツール、チャネル番号のマッチングなどの開発スキルに注意してください。

SEOとアクセシビリティのセマンティックHTMLの重要性 SEOとアクセシビリティのセマンティックHTMLの重要性 Jul 30, 2025 am 05:05 AM

semantichtmlimprovesbothseoandaccessibilityを使用することはできません

H5ネットワーク情報API適応荷重のためのAPI H5ネットワーク情報API適応荷重のためのAPI Jul 23, 2025 am 04:15 AM

H5のNetwork Information APIは、ネットワークタイプを判断することにより、読み込み戦略を最適化できます。 navigator.connectionを使用して、ネットワークタイプとオンラインステータスを取得します。 high-2G、4G、5Gなど)に基づいて、高解像度リソースまたは軽量コンテンツをロードすることを決定します。 change変更イベントを聞くことで、読み込み戦略を動的に調整します。互換性、限られたiOSサポート、プライバシーモードの制限などの問題に注意してください。

See all articles