<svg>
<filter id="wavy">
<feTurbulence id="turbulence" type="turbulence" numOctaves="1" result="NOISE"></feTurbulence>
<feDisplacementMap in="SourceGraphic" in2="NOISE" scale="5"/>
<animate xlink:href="#turbulence" attributeName="baseFrequency" dur="60s" keyTimes="0;0.5;1"
values="0.01 0.02;0.1 0.2;0.01 0.02" repeatCount="indefinite"></animate>
</filter>
</svg>
<body>
<section id="main">
<div class="image"></div>
</section>
</body>
body {
margin: 0px;
padding: 0px;
font-family: "Poppins", sans-serif;
background: #22232e;
}
* {
box-sizing: border-box;
scroll-behavior: smooth;
}
#main {
width: 100%;
height; auto;
background: #22232e;
display: flex;
align-items: center;
justify-content: center;
}
.image{
background-image: url(https://omjsblog.files.wordpress.com/2023/11/1.jpg);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
width: 350px;
height: 200px;
position: relative;
}
.image::before{
content: '';
position: absolute;
top: 105%;
left: 0;
width: 350px;
height: 200px;
margin-left: -2px;
background-image: url(https://omjsblog.files.wordpress.com/2023/11/1.jpg);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
transform: scaleY(-1);
opacity: 0.2;
filter: url(#wavy);
}
.image::after{
content: '';
position: absolute;
top: 105%;
left: 0;
width: 351px;
height: 200px;
background-image: linear-gradient(transparent, #22232e 50%);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.