ホームページ >ウェブフロントエンド >CSSチュートリアル >純粋な CSS3 を使用してクールな画像拡大効果を作成するにはどうすればよいですか?
「CSS3を使ってかっこいい三角の背景画像を作る」という記事で、CSS3を使ってWebページを高級感のあるかっこいい三角の背景画像を作る方法を紹介しました!今回は、純粋な CSS3 を使用してマウスオーバー画像の拡大効果を実現する方法について説明します。興味のある友人はそれについて学ぶことができます~
マウスオーバー画像の拡大効果は非常に便利で目-特殊効果をキャッチする Web ページにインタラクティブ性を追加する ユーザーが画像の上にマウスを置くと、画像がわずかに拡大されます。画像表示ページに適しており、ユーザーエクスペリエンスを大幅に向上させます。
コードから直接始めましょう:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .img-wrapper { width: 220px; height: 220px; overflow: hidden; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6); } .img-wrapper img { height: 220px; -webkit-transition: 0.3s linear; transition: 0.3s linear; } .img-wrapper img:hover { transform: scale(1.1); } .img-wrapper { display: inline-block; box-sizing: border-box; border: 3px solid #000; } /* ============== * 灰度滤镜 * ==============*/ .grayscale-img { -webkit-filter: grayscale(100%); filter: grayscale(100%); } .grayscale-img:hover { -webkit-filter: grayscale(0); filter: grayscale(0); } /* ============== * 深褐色滤镜 * ==============*/ .sepia-img { -webkit-filter: sepia(100%); filter: sepia(100%); } .sepia-img:hover { -webkit-filter: sepia(0); filter: sepia(0); } </style> </head> <body> <div class="img-wrapper"> <img src="demo/img/1.jpg"/ alt="純粋な CSS3 を使用してクールな画像拡大効果を作成するにはどうすればよいですか?" > </div> <!-- 灰度滤镜 --> <div class="img-wrapper"> <img class="grayscale-img" src="demo/img/1.jpg"/ alt="純粋な CSS3 を使用してクールな画像拡大効果を作成するにはどうすればよいですか?" > </div> <!-- 深褐色滤镜 --> <div class="img-wrapper"> <img class="sepia-img" src="demo/img/1.jpg" /> </div> </body> </script> </body> </html>
結果は以下のようになります:
OK、上記のコードを分析しましょう:
最初に、img タグをラップする div を作成します。div コンテナの機能は、画像をブロックすることです。画像が拡大されるときに、画像が指定した幅と高さを超えないようにする必要があります。 div でこの機能を実現したい場合は、画像を拡大したときに余分な部分が隠れるようにキー スタイル overflow: hidden
; を設定する必要があります。
<div class="img-wrapper"> <img src="demo/img/1.jpg"/ alt="純粋な CSS3 を使用してクールな画像拡大効果を作成するにはどうすればよいですか?" > </div> .img-wrapper { width: 220px; height: 220px; overflow: hidden; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6); }
次に画像拡大効果ですが、ここで使用するのは transform:scale(1,1)
スタイルです。 transform
属性は要素に 2D または 3D 変換を適用できます。一方、scale
は要素を拡大 (整数の場合は拡大) または縮小 (負の数の場合は縮小) するために使用されます。 。
.img-wrapper img { height: 220px; } .img-wrapper img:hover { transform: scale(1.1); }
この方法で実現される画像拡大効果は突然であり、マウスをホバーすると突然拡大します。トランジション属性を使用してトランジション効果を追加できます。属性は CSS3 の新しい属性です。他のブラウザと互換性を持たせるためにプレフィックスを追加する必要があります。
.img-wrapper img { height: 220px; -webkit-transition: 0.3s linear; /* 兼容谷歌浏览器 */ transition: 0.3s linear; }
これにより、マウスオーバーによる画像の拡大効果が得られます。しかし、この種の拡大効果は少し単調です。画像にフィルタ属性 filter
を設定して、画像の拡大効果をさらにクールにすることができます。
最初に画像をグレー (フィルター: グレースケール(100%)
) またはダークブラウン (フィルター: セピア(100%)
) にしてから、ホバーすると、画像が拡大されながら色が変化するため (フィルター効果を削除するだけです)、特殊効果がさらにクールになります。
<!-- 灰度滤镜 --> <div class="img-wrapper"> <img class="grayscale-img" src="demo/img/1.jpg" /> </div> .grayscale-img { -webkit-filter: grayscale(100%); filter: grayscale(100%); } .grayscale-img:hover { -webkit-filter: grayscale(0); filter: grayscale(0); } <!-- 深褐色滤镜 --> <div class="img-wrapper"> <img class="sepia-img" src="demo/img/1.jpg" /> </div> .sepia-img { -webkit-filter: sepia(100%); filter: sepia(100%); } .sepia-img:hover { -webkit-filter: sepia(0); filter: sepia(0); }
滤镜属性filter定义了元素(通常是<img alt="純粋な CSS3 を使用してクールな画像拡大効果を作成するにはどうすればよいですか?" >)的可视效果(例如:模糊与饱和度)。 可以设置的滤镜效果: blur(px):给图像设置高斯模糊。 brightness(%):给图片应用一种线性乘法,使其看起来更亮或更暗。 contrast(%) :调整图像的对比度。 drop-shadow(h-shadow v-shadow blur spread color):给图像设置一个阴影效果。 grayscale(%):将图像转换为灰度图像 hue-rotate(deg) :给图像应用色相旋转。 invert(%) :反转输入图像。 opacity(%):转化图像的透明程度。 saturate(%): 转换图像饱和度。 sepia(%) : 将图像转换为深褐色。
PHP 中国語 Web サイト プラットフォームには、多くのビデオ教育リソースがあります。皆さんも「css ビデオ チュートリアル 」を学習してください。
以上が純粋な CSS3 を使用してクールな画像拡大効果を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。