半椭圆与CSS [英] Semi-oval with CSS

查看:224
本文介绍了半椭圆与CSS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在椭圆和半圆之间创建混合。



半圆可以在CSS中创建:

  .halfCircle {
height:45px;
width:90px;
border-radius:90px 90px 0 0;
-moz-border-radius:90px 90px 0 0;
-webkit-border-radius:90px 90px 0 0;
background:green;
}

椭圆可以这样做:

  .oval {
background-color:#80C5A0;
width:400px;
height:200px;
margin:100px auto 0px;
border-radius:200px / 100px;
}

但是如何才能制作半椭圆形呢?这是我到目前为止的尝试。发生的问题是我有平顶,这里。感谢!

解决方案

我已经用一种可能的解决方案更新了您的演示:



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

  ; div>< / div>  



对于 border-radius ,它应该始终保持平滑的半椭圆,而不管你的 width height 值。



有了一些细微的变化,下面是如何将半椭圆分割为半垂直分割:



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

  ; div>< / div>  


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:90px;
     border-radius: 90px 90px 0 0;
     -moz-border-radius: 90px 90px 0 0;
     -webkit-border-radius: 90px 90px 0 0;
     background:green;
}

And ovals can be made like this:

.oval { 
    background-color: #80C5A0;
    width: 400px;
    height: 200px;
    margin: 100px auto 0px;
    border-radius: 200px / 100px;
}

But how can I make a semi-oval? Here's my attempt so far. The problem that happens is I've got flat tops, found here. Thanks!

解决方案

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>

这篇关于半椭圆与CSS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆