html+css实现图片扫描仪特效

本文主要介绍了html css 图片扫描仪,分享给大家,具体如下:

效果:

这样,有抖动的:

无抖动的:

实现:

1.定义一个盒子:

1
<div class="tu"></div>

2.基本样式,长宽背景图等等~

1
2
3
4
5
6
7
8
9
10
.tu{
           width: 500px;
           height: 300px;
           background-image: url(8.jpg);
           background-size: 100% auto;
           background-repeat: no-repeat;
           position: relative;
           overflow: hidden;
           cursor: pointer;
       }

cursor: pointer;鼠标经过盒子样式为小手

3.用伪类元素做扫描线,基本样式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.tu::after{
           content: '';
           position: absolute;
           top: 0;
           left: 0;
           width: 500px;
           height: 35px;
           background-image: url(8.jpg);
           background-size: 100% auto;
           background-repeat: no-repeat;
           filter: sepia(100%);
           opacity: 0;
           
       }

filter: sepia(100%); 图片发黄。
filter: invert(100%); 像X光底片。

4.实现扫描:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
.tu:hover::after{
            opacity: 1;
            animation: move 1.8s linear infinite;
        }
        @keyframes move{
            0%{
                top: 0;
                background-position: 6px 0px;
            }
            20%{
                top: 60px;
                background-position: -6px -60px;
            }
            40%{
                top: 120px;
                background-position: 6px -120px;
            }
            60%{
                top: 180px;
                background-position: -6px -180px;
            }
            80%{
                top: 240px;
                background-position: 6px -240px;
            }
            100%{
                top: 300px;
                background-position: -6px -300px;
            }
        }

让background-position的y轴位移刚好等于top的距离,然后x轴为0的话就不抖,有数值就会抖动。

完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<title>Document</title>
    *{
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    body{
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: rgb(0, 0, 0);
    }
    .tu{
        width: 500px;
        height: 300px;
        background-image: url(8.jpg);
        background-size: 100% auto;
        background-repeat: no-repeat;
        position: relative;
        overflow: hidden;
        cursor: pointer;
    }
    .tu::after{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 500px;
        height: 20px;
        background-image: url(8.jpg);
        background-size: 100% auto;
        background-repeat: no-repeat;
        filter: invert(100%);
        opacity: 0;
        
    }
    .tu:hover::after{
        opacity: 1;
        animation: move 1.8s linear infinite;
    }
    @keyframes move{
        0%{
            top: 0;
            background-position: 6px 0px;
        }
        20%{
            top: 60px;
            background-position: -6px -60px;
        }
        40%{
            top: 120px;
            background-position: 6px -120px;
        }
        60%{
            top: 180px;
            background-position: -6px -180px;
        }
        80%{
            top: 240px;
            background-position: 6px -240px;
        }
        100%{
            top: 300px;
            background-position: -6px -300px;
        }
    }
<div class="tu"></div>

总结:

这是网上看到一外国博主的创意,然后自己也弄了一个,虽然效果是比较简单的,但也是挺好玩的~

到此这篇关于html+css实现图片扫描仪特效 的文章就介绍到这了,更多相关html+css图片扫描仪 内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章,希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/navsub/html5/13465.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部