使背景动画具有响应性的问题

时间:2019-10-27 21:16:42

标签: css

我为背景制作了一个动画,但是没有响应,我也不知道该如何制作。 我使用Bootstrap 4和CSS作为主要设计资源。

我起诉的CSS如下:

/* Animation GLitch */
.animation {
    position: relative;
    width: 100%;
    height: 100vh;
    background: url("https://images.unsplash.com/photo-1487174244970-cd18784bb4a4?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2252&q=80");
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    overflow: hidden;
}
.animation:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("https://images.unsplash.com/photo-1487174244970-cd18784bb4a4?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2252&q=80");
    opacity: 0.5;
    mix-blend-mode: hard-light;
    display: block;
}
.animation:hover:before {
    animation: animate 0.2s linear infinite;
}
@keyframes animate {
    0% {
        background-position: 0 0;
        filter: hue-rotate(0deg);
    }
    10% {
        background-position: 5px 0;
    }
    20% {
        background-position: -5px 0;
    }
    30% {
        background-position: 15px 0;
    }
    40% {
        background-position: -5px 0;
    }
    50% {
        background-position: -25px 0;
    }
    60% {
        background-position: -50px 0;
    }
    70% {
        background-position: 0 -20px;
    }
    80% {
        background-position: -60px -20px;
    }
    81% {
        background-position: 0 0;
    }
    100% {
        background-position: 0 0;
        filter: hue-rotate(360deg);
    }
}

动画由两张相同的图片组成,可以产生这种毛刺效果,但我不知道如何使其具有响应性。

最简洁的方法在这里起作用: https://codepen.io/Jakub41/pen/abbwxWb

我尝试使用大小调整,但是它正在修改我的效果,我想在所有屏幕上保持相同的效果

1 个答案:

答案 0 :(得分:0)

我不太了解您希望它以哪种方式进行响应,但是两次都尝试在background: url(...)之后添加这些行:

background-repeat: no-repeat;
background-size: cover;

查看here,以获取有关background-size属性的更多信息。

另外this question的第二个答案可能会让您感兴趣。