Skip to content Skip to sidebar Skip to footer

Make Wave Effect For Images

From the result above i want to create something like this: So the idea is to create rounded corners for both images, but i want to make the columns connected, so the rounder co

Solution 1:

Consider clip-path then simply make the flex-basis of the image to be bigger:

* {
  box-sizing: border-box;
}

.container {
  display: flex;
  flex-direction: column;
  width: 600px;
  height: 600px;
}

.image {
  background-size: 100%100%;
  background-image: url('https://cdn.wallpaperhub.app/cloudcache/1/b/5/8/e/f/1b58ef6e3d36a42e01992accf5c52d6eea244353.jpg')
}

.box-1,
.box-2,
.content{
  display: flex;
  flex-basis: 50%;
}

.content {
  padding: 30px;
}

/* below the added code */.image {
  flex-basis:70%;
}
.box-1.image {
 clip-path: circle(farthest-side at 20%50%);
}
.box-2.image {
 clip-path: circle(farthest-side at 80%50%);
}
<divclass="container"><divclass="box-1"><divclass="image"></div><divclass="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam, non. Molestias voluptas velit quae itaque natus nam odio obcaecati minima recusandae enim eos mollitia est animi incidunt,</div></div><divclass="box-2"><divclass="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam, non. Molestias voluptas velit quae itaque natus nam odio obcaecati minima recusandae enim eos mollitia est animi incidunt, beatae iure perspiciatis.</div><divclass="image"></div></div></div>

another idea for a responsive version:

* {
  box-sizing: border-box;
}

.container {
  display: flex;
  flex-direction: column;
  height: 600px;
}

.image {
  background-size: 100%100%;
  background-image: url('https://cdn.wallpaperhub.app/cloudcache/1/b/5/8/e/f/1b58ef6e3d36a42e01992accf5c52d6eea244353.jpg')
}

.box-1,
.box-2{
  display: flex;
  flex-basis: 50%;
}

.content {
  padding: 30px;
  flex:1;
}

/* below the added code */.image {
  --d:600px;
  flex-basis:calc(50% + 20px);
}
.box-1.image {
 clip-path: circle(var(--d) at calc(100% - var(--d)) 50%);
}
.box-2.image {
 clip-path: circle(var(--d) at calc(var(--d)) 50%);
}
<divclass="container"><divclass="box-1"><divclass="image"></div><divclass="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam, non. Molestias voluptas velit quae itaque natus nam odio obcaecati minima recusandae enim eos mollitia est animi incidunt,</div></div><divclass="box-2"><divclass="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam, non. Molestias voluptas velit quae itaque natus nam odio obcaecati minima recusandae enim eos mollitia est animi incidunt, beatae iure perspiciatis.</div><divclass="image"></div></div></div>

Using CSS mask:

* {
  box-sizing: border-box;
}

.container {
  display: flex;
  flex-direction: column;
  height: 600px;
}

.image {
  background-size: 100%100%;
  background-image: url('https://cdn.wallpaperhub.app/cloudcache/1/b/5/8/e/f/1b58ef6e3d36a42e01992accf5c52d6eea244353.jpg')
}

.box-1,
.box-2{
  display: flex;
  flex-basis: 50%;
}

.content {
  padding: 30px;
  flex:1;
}

/* below the added code */.image {
  --d:300px; /* adjust here to control the curve  */flex-basis:calc(50% + 43px); /* and here to rectify the gap */
}
.box-1.image {
 -webkit-mask:
    linear-gradient(#fff,#fff) left/calc(100% - var(--d)) 100%,
    radial-gradient(circle var(--d) at calc(100% - var(--d)) 50%,#fff99%,transparent);
 -webkit-mask-repeat:no-repeat;
}
.box-2.image {
 -webkit-mask:
    linear-gradient(#fff,#fff) right/calc(100% - var(--d)) 100%,
    radial-gradient(circle var(--d) at var(--d) 50%,#fff99%,transparent);
 -webkit-mask-repeat:no-repeat;
}
<divclass="container"><divclass="box-1"><divclass="image"></div><divclass="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam, non. Molestias voluptas velit quae itaque natus nam odio obcaecati minima recusandae enim eos mollitia est animi incidunt,</div></div><divclass="box-2"><divclass="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam, non. Molestias voluptas velit quae itaque natus nam odio obcaecati minima recusandae enim eos mollitia est animi incidunt, beatae iure perspiciatis.</div><divclass="image"></div></div></div>

Post a Comment for "Make Wave Effect For Images"