0

need divide background on two parts: Example

I have:

body {
  background: #b6da8c;
  overflow: hidden;
}

body:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: #005370;
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: skewX(-10deg);
  -ms-transform: skewX(-10deg);
  transform: skewX(-10deg);
  z-index: -1;
}

As you can see there is divided into 3 actually, how to change it to have 2 as on image?

Joseph Marikle
  • 76,418
  • 17
  • 112
  • 129
Marcin
  • 1
  • 1

3 Answers3

1

You could change the transform-origin to be at the bottom.

body {
  background: #b6da8c;
  overflow: hidden;
}

body:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: #005370;
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: skewX(-10deg);
  -ms-transform: skewX(-10deg);
  transform: skewX(-10deg);
  z-index: -1;
  transform-origin: bottom;
}
Joseph Marikle
  • 76,418
  • 17
  • 112
  • 129
0

Really simple fix without too much modification to your code. Just push the element off the screen and increase its width.

body { 
background: #b6da8c;
overflow: hidden;
}

body:before {
  content: '';
  position: absolute;
  top: 0; right: -200px;
  width: 60%; height: 100%;
  background: #005370;
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: skewX(-10deg);
  -ms-transform: skewX(-10deg);
  transform: skewX(-10deg);
  z-index: -1;
}
k.cornett
  • 189
  • 9
0

body {
  background: #b6da8c;
  overflow: hidden;
}

body:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 70%;
  height: 100%;
  background: #005370;
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: skewX(-10deg);
  -ms-transform: skewX(-10deg);
  transform: skewX(-10deg);
  z-index: -1;
}
Andrei Fedorov
  • 3,689
  • 2
  • 13
  • 25