图片/图形

Blend模式制作鼠标滑过图片标题特效

阿里云


这是一款使用 css3 background-blend-mode 制作的鼠标滑过图片标题特效。该图片标题特效在鼠标滑过一张图片的时候,图片的标题会相应的动画,并且图片会使用 css blend 模式渲染为非常酷的效果。IE 浏览器不支持 CSS background-blend-mode 属性,所以在 IE 浏览器中看不到图片的混合效果,只能看到图片标题的动画效果。

HTML 结构

该图片标题特效的 HTML 结构使用嵌套<div>的 HTML 结构。以第一个 DEMO 的为例,它的 HTML 结构如下:

也想出现在这里?联系我们
创客主机
  1. <div class="elem first">
  2.   <img src="img/1.jpg" />
  3. </div>

CSS 样式

每张图片的包裹

中的 elem class 用于控制图片的大小。这里使用了 vw 来作为单位,制作响应式效果。关于 vw 可以参考:你不知道的 7 个 css 单位。为例提高动画效果性能,还使用了 will-change 属性来通知浏览器优化即将要执行的 transform 和 opacity 属性。

  1. .elem {
  2.   width: 32vw;
  3.   display: inline-block;
  4.   color: white;
  5.   font-size: 2em;
  6.   position: relative;
  7.   height: 20vw;
  8.   overflow: hidden;
  9.   will-change: transform;
  10. }
  11.  
  12. .elem:before {
  13.   content: "";
  14.   position: absolute;
  15.   top: 0;
  16.   left: 0;
  17.   width: 100%;
  18.   height: 100%;
  19.   z-index: 1;
  20.   opacity: 0;
  21.   background-size: 100% 100%;
  22.   background-repeat: no-repeat;
  23.   will-change: transform, opacity;
  24. }
  25.  
  26. .elem:after {
  27.   content: "";
  28.   position: absolute;
  29.   will-change: transform;
  30. }
  31.  
  32. .elem img {
  33.   width: 32vw;
  34.   height: 20vw;
  35.   will-change: transform;
  36. }
  37.  
  38. .elem:hover:before {
  39.   opacity: 1;
  40. }

第一个特效使用的 Blend 模式是 background-blend-mode: luminosity;。目前 CSS 的 blend 模式共有 16 种,可以参看《CSS 中的合成和混合模式-blend modes》。luminosity 属于亮度模式,该模式能够使用“混合色”颜色的亮度值进行着色,而保持“基色”颜色的饱和度和色相数值不变。图片中间的矩形线条框使用的是.first:after 伪元素来制作。开始时它的透明度设置为 0,在鼠标滑过时,它的透明度被设置为 1,并使用 transform 属性来将其放大。

  1. .first:before {
  2.   background-color: lightBlue;
  3.   background-image: url("../img/1.jpg");
  4.   background-blend-mode: luminosity;
  5. }
  6.  
  7. .first:after {
  8.   opacity: 0;
  9.   border: .15vw solid #fff;
  10.   -webkit-transform: scale(0.5);
  11.   -moz-transform: scale(0.5);
  12.   -o-transform: scale(0.5);
  13.   transform: scale(0.5);
  14. }
  15.  
  16. .first:hover:after {
  17.   opacity: 1;
  18.   -webkit-transform: scale(0.95);
  19.   -moz-transform: scale(0.95);
  20.   -o-transform: scale(0.95);
  21.   transform: scale(0.95);
  22. }

其它例子的代码请参考下载文件。

Blend 模式制作鼠标滑过图片标题特效

已有 393 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!