two divs split with diagonal line - CSS

前端 未结 1 929
没有蜡笔的小新
没有蜡笔的小新 2020-12-16 03:16

I am trying to get two divs to fit the full width of the page but split in half with a diagonal line.

\"example

1条回答
  •  天涯浪人
    2020-12-16 03:54

    It can be something like this

    Example 1

    div {
        min-height: 100px;
        background: #D25A1E;
        position: relative;
        width: calc(50% - 30px);
    }
    .div1 {
        float: left;
    }
    .div2 {
        float: right;
    }
    .div1:after, .div2:before {
        content:'';
        position: absolute;
        top: 0;
        width: 0;
        height: 0;
    }
    .div1:after {
        left: 100%;
        border-top: 100px solid #D25A1E;
        border-right: 50px solid transparent;
    }
    .div2:before {
        right: 100%;
        border-bottom: 100px solid #D25A1E;
        border-left: 50px solid transparent;
    }

    fiddle

    Example 2

    div {  
        background: #D25A1E;
        min-height: 100px;
        width: calc(50% - 25px);
        position: relative;     
    }
    .div1 {
        float: left;
    }
    .div2 {
        float: right;
    }
    div:after {
        position: absolute; top: 0px;
        content:'';    
        z-index: -1;
        height: 100%;
        width: 50%;
        background: #D25A1E;
    }
    .div1:after {    
        right: 0;
        transform-origin: bottom right;
        transform: skewX(-20deg);
    }
    .div2:after {    
        left: 0;
        transform-origin: top left;
        transform: skewX(-20deg);
    }

    fiddle

    Example 3

    * {
      padding: 0;
      margin: 0;
      box-sizing: border-box;
    }
    
    .blocks {
      display: flex;
      padding: 1em;
    }
    
    .block {
      background-color: #D25A1E;
      min-height: 100px;
      width: 50%;
      width: calc(50% + 2rem);
    }
    
    .block--left {
      clip-path: polygon(0 0, 100% 0, calc(100% - 3rem) 100%, 0% 100%);
    }
    
    .block--right {
      margin-left: -2rem;
      clip-path: polygon(3rem 0, 100% 0, 100% 100%, 0% 100%);
    }

    0 讨论(0)
提交回复
热议问题