0

Is it possible to set background in same shape with CSS?

Expected image with css

enter image description here

.cover {
    margin: 0;
    height: 70vh;
    width: 60vw;
    background-color: #073faa;
    border-radius: 0px 30px 30px 0px;
    transform-origin: bottom left;
  -ms-transform: skew(-30deg, 0deg);
  -webkit-transform: skew(-30deg, 0deg);
  transform: skew(-30deg, 0deg);
  border-radius:0px 10px 10px 0px
}
<div class="cover"></div>
Jignesh Panchal
  • 1,037
  • 11
  • 29

1 Answers1

5

Since it's a solid coloration use skew and rotation like below:

.cover {
  height: 70vh;
  position:relative;
  overflow:hidden;
}

.cover::before {
  content: "";
  position: absolute;
  inset: 0 -20% 0 0;
  border-radius: 0px 30px 30px 0px;
  transform-origin:top left;
  transform: skew(-14deg) perspective(80px) rotateY(4deg);
  background-color: #073faa;
}
<div class="cover"></div>

Also like below with an extra wrapper:

.cover {
  height: 70vh;
  position:relative;
  overflow:hidden;
}

.cover div,
.cover div::before {
  content: "";
  position: absolute;
  inset:0 ;
  overflow:hidden;
  transform-origin:top left;
  border-radius: 0px 30px 30px 0px;
}

.cover div {
  transform: skew(-14deg);
}

.cover div::before {
  transform: skewY(-5deg);
  background-color: #073faa;
}
<div class="cover">
  <div></div>
</div>
Temani Afif
  • 245,468
  • 26
  • 309
  • 415