CSS3 で虫眼鏡効果を模倣するいくつかの方法の原理の分析

CSS3 で虫眼鏡効果を模倣するいくつかの方法の原理の分析

記事のタイトルが「模造虫眼鏡」なのはなぜですか?
今日お話ししたいのは、一般的に言われているような、マウスを動かすと、その隣に大きなローカル画像がポップアップする、ということではありません。これは簡単に書けるし、多くのスキルも必要ありません(親要素(または:元の画像)を配置するには相対位置を使用し、ローカルの大きな画像(目的:元の画像の隣のどこかに配置する)を配置するには絶対位置を使用し、その横のスタイルを制御するには CSS を使用し、リッスンするにはマウスイベントを使用します...もちろん、jQuery でインターフェイスを直接使用することもできます - $('class name').jqzoom({zoomwidth:xx; zoomheight: xx; zoomType:'reverse';}) 最後の Type は虫眼鏡のタイプを定義します)

さて、本題に戻りましょう。今日お話ししたいのは、マウスを動かすと元の位置にある画像が拡大するアニメーションです!
そうです、アニメーションです。 (以下:ウェブサイトより抜粋)

ここに画像の説明を挿入

最初に思い浮かんだのは、CSS3 の@keyframes 属性でした。これは、より頻繁に使用されるためです。
たとえば、 from...to を使用して、入場アニメーションと退場アニメーションのスタイルを指定できます。

たとえば、移行を通じてこれを達成できます(今日の焦点

預言者: CSS3 属性 transform——(rotate: rotate、scale: scale、skew: skew、translate: translate)

例えば:
要素の通常の幅は 100 ピクセルですが、マウスがその上を通過すると幅が 200 ピクセルになります。
幅の値のみを設定した場合、効果は次のようになります。

ここに画像の説明を挿入

すごく硬そうに見えませんか?トランジションを追加した場合の効果を見てみましょう。

ここに画像の説明を挿入

2 つの効果の違いを確認した後、おそらく transition 属性の役割を理解できたと思います。この例の目的は幅の変更と似ていますが、最終的な効果は変わります。引き続き、以下の詳細なコードをご覧ください。

<div id="コンテナ">
  <img src="./little_boy.jpg" />
  <span>みなさんこんにちは!私は誰ですか? </span>
</div>
#容器 {
  マージン: 200px;
  位置: 相対的;
  幅: 300ピクセル;
  高さ: 300px;
  背景色: 緑黄色;
  遷移: transform .5s イーズアウト;
}

#コンテナ画像{
  幅: 100%;
  高さ: 100%;
}

#コンテナスパン{
  位置: 絶対;
  上: 0;
  左: 0;
  マージン: 6px;
  幅: 100%;
  高さ: 20px;
  行の高さ: 20px;
  フォントサイズ: 18px;
  色: 白;
  テキスト配置: 中央;
}

#コンテナ:ホバー{
  変換: スケール(1.3);
}

分析:
(1) コンテナに hover 疑似クラスを追加し、transform 属性を使用してコンテナの拡大効果を設定します。 (2) コンテナの transition 属性を設定し、属性値を transform にしてアニメーションの継続時間を設定します。

これで、CSS3 で虫眼鏡効果をシミュレートするいくつかの方法の原理と分析に関するこの記事は終了です。CSS3 虫眼鏡に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

<<:  HTML でよく使われるタグの概要 (必読)

>>:  Vue+ElementUI はページング関数を実装します - mysql データ

推薦する

Linux の一般的なコマンド chmod を使用して、ファイルの権限 777 と 754 を変更します。

よく使用されるコマンドは次のとおりです。 chmod 777 文件或目錄例: chmod 777 /...

Windows Server 2016 AD サーバーをセットアップする手順 (画像とテキスト)

導入: AD は Active Directory の略称で、中国語では Active Direct...

HTML フォーム送信アクションと URL ジャンプアクションの違い

フォームのアクションは URL ジャンプとは異なります。フォームはバックグラウンドにデータを渡すこと...

MySQL データベースのホットスタンバイにおける問題点の分析

以前、MySQL データベースのデュアルマシン ホット スタンバイの設定方法を紹介しました。ご興味の...

Vue要素と多言語切り替えの詳細な説明

目次序文複数の言語を切り替えるにはどうすればいいですか? 1. vue-i18nパッケージをインスト...

MySQL バッチ挿入ループの詳細なサンプルコード

背景数日前、MySql でページングを行っていたときに、ページングに制限 0,10 を使用するとデー...

Vue はカスタム「モーダル ポップアップ ウィンドウ」コンポーネントのサンプル コードを実装します

目次序文レンダリングサンプルコード要約する序文ダイアログ ボックスは非常に一般的なコンポーネントであ...

LinuxサーバのSSHクラッキング防止方法(推奨)

1. Linuxサーバーは、/etc/hosts.denyを設定して、相手のIPがSSH経由でサー...

MySQL の 4 つのトランザクション分離レベルを例を使って分析する

序文データベース操作では、同時データ読み取りの正確性を効果的に保証するために、トランザクション分離レ...

JavaScript の基礎: 即時実行関数

目次関数フォーマットを即時実行関数を即座に実行する他の方法 – 式即時実行される関数はパラメータを取...

JavaScript の基礎: エラーキャプチャメカニズム

目次序文エラーオブジェクト投げる試して…捕まえて…最後に最終ルールトライ/キャッチパフォーマンスウィ...

Linux での umask の使用に関する詳細な説明

私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読...

JavaScript の document.activeELement フォーカス要素の紹介

目次1. デフォルトの焦点はボディにあります2. テキストボックスのフォーカスを手動で取得する3. ...

Docker ベースの Redis 1 マスター、2 スレーブ、3 センチネルの実装

現在、Redis とコンテナについて学習中なので、Docker を使用して Redis マスタースレ...

Linux ファイルシステムの説明: ext4 以降

今日は、ext3 や他の以前のファイル システムとの違いを含め、ext4 の歴史について説明します。...