Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Two diagonal div slips with CSS

I'm trying to create a background with two diagonal splits, with one over the other one.

I tried using two linear-gradient on the background but it didn't work.

Any can help me solve this with CSS?

like image 569
Emad Avatar asked Apr 13 '26 04:04

Emad


2 Answers

This can be done using linear-gradient background images but it would need gradients instead of just one.

.diagonal-background {
  height: 200px;
  width: 200px;
  background: linear-gradient(to bottom left, transparent 50%, #EEE 50.5%), 
              linear-gradient(to bottom right, transparent 50%, #CCC 50.5%);
  /* just for demo */
  line-height: 200px;
  text-align: center;
}
<div class='diagonal-background'>
  Some content</div>
like image 119
Harry Avatar answered Apr 27 '26 15:04

Harry


1- You can do this (adjust your needs):

CSS

div {
  display: inline-block;
  background: #FCFCFE;
  position: relative;
  width: 200px;
  height: 200px;
  overflow: hidden;
}

.bg1 {
  position: absolute;
  top: 50px;
  display: inline-block;
  transform: rotate(45deg);
  width: 300px;
  height: 300px;
  left: -160px;
  background: #F8F7FA;
  z-index: 1;
}

.bg2 {
  position: absolute;
  top: 50px;
  display: inline-block;
  transform: rotate(-45deg);
  width: 300px;
  height: 300px;
  right: -160px;
  background: #F2F3F6;
  z-index: 1;
}

HTML

<div>
  <div class="bg2"></div>
  <div class="bg1"></div>
</div>

DEMO HERE

2- Or you can use pseudo elements (adjust your needs):

CSS

div {
  display: inline-block;
  background: #FCFCFE;
  position: relative;
  width: 200px;
  height: 200px;
  overflow: hidden;
}

div:after {
  position: absolute;
  content:"";
  top: 50px;
  display: inline-block;
  transform: rotate(45deg);
  width: 300px;
  height: 300px;
  left: -160px;
  background: #F8F7FA;
  z-index: 1;
}

div:before{
  position: absolute;
  content:"";
  top: 50px;
  display: inline-block;
  transform: rotate(-45deg);
  width: 300px;
  height: 300px;
  right: -160px;
  background: #F2F3F6;
  z-index: 1;
}

HTML

<div></div>

DEMO HERE

like image 23
Luís P. A. Avatar answered Apr 27 '26 15:04

Luís P. A.



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!