Semi-oval with CSS

后端 未结 3 400
清酒与你
清酒与你 2020-12-18 21:50

I\'m trying to create a mix between an oval and a semi-circle.

Semi-circles can be created as such in CSS:

.halfCircle{
     height:45px;
     width         


        
相关标签:
3条回答
  • 2020-12-18 22:11

    http://jsfiddle.net/QGtzW/4/

    .halfOval { 
        background-color: #a0C580;
        width: 400px;
        height: 100px;
        margin: 100px auto 0px;
    
        /* top-right top-left bottom-left bottom-right */
        /* or from 10.30 clockwise */
        border-radius: 50% 50% 0 0/ 100% 100% 0 0;
    }
    
    0 讨论(0)
  • 2020-12-18 22:15

    I've updated your demo with one possible solution:

    div {
      background-color: #80C5A0;
      width: 400px;
      height: 100px;
      border-radius: 50% / 100%;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
    <div></div>

    By using percentage based units for the border-radius it should always keep a smooth semi-ellipse regardless of your width and height values.

    With a few minor changes, here's how you'd render the semi-ellipse split in half vertically:

    div {
      background-color: #80C5A0;
      width: 400px;
      height: 100px;
      border-radius: 100% / 50%;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
    <div></div>

    0 讨论(0)
  • 2020-12-18 22:27

    We can use css3 radial-gradient() as well to draw this shape:

    .halfOval {
      background: radial-gradient(ellipse at 50% 100%, #a0C580 70%, transparent 70%);
    }
    

    .halfOval {
      background: radial-gradient(ellipse at 50% 100%, #a0C580 70%, transparent 70%);
      margin: 50px auto;
      height: 100px;
      width: 400px;
    }
    <div class="halfOval"></div>

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