Create wavy borders in CSS for top and bottom borders

后端 未结 1 1960
野的像风
野的像风 2020-12-07 02:33

I\'m trying to create a wavy top and bottom border like the image here

I tried recreating the same effect using the following code

.wave{
           


        
相关标签:
1条回答
  • 2020-12-07 03:23

    Try using this:

    .wave-top {
      position: relative;
      margin-top: 20px;
    }
    
    .wave-top::before,
    .wave-top::after {
      border-bottom: 5px solid rgba(237, 30, 30, 1);
    }
    
    .wave-top::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 10px;
      background-size: 20px 40px;
      background-image: radial-gradient(circle at 10px -15px, transparent 20px, rgba(237, 30, 30, 1) 21px);
    }
    
    .wave-top::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 15px;
      background-size: 40px 40px;
      background-image: radial-gradient(circle at 10px 26px, rgba(237, 30, 30, 1) 20px, transparent 21px);
    }
    
    .wave-mid {
      background-color: rgba(237, 30, 30, 1);
      height: 50px;
    }
    
    .wave-bottom {
      position: relative;
    }
    
    .wave-bottom::before,
    .wave-bottom::after {
      border-top: 5px solid rgba(237, 30, 30, 1);
    }
    
    .wave-bottom::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 10px;
      background-size: 20px 40px;
      background-image: radial-gradient(circle at 10px -15px, transparent 20px, #fff 21px);
    }
    
    .wave-bottom::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 15px;
      background-size: 40px 40px;
      background-image: radial-gradient(circle at 10px 26px, #fff 20px, transparent 21px);
    }
    <div class='wave-top'></div>
    <div class="wave-mid"></div>
    <div class="wave-bottom"></div>

    You can increase the height of the middle-div according to your need. Here I have kept it 50px

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