3

我只是想用另一个可以有任何半径的彩色馅饼制作一个空心球体。搜索了很多,但找到了一些border-radius我已经知道的东西clip: rect(top, right, bottom, left)。我该如何使用它?我搜索了它的教程,但教程有点混乱和不完整。

究竟是什么效果?

链接到网站

看看那个四色空心球是什么样子的。

而且stackoverflow也不包含任何这样的问题。

4

1 回答 1

6

要创建该饼图效果,您必须有 2 个 div。

<div id="parent">
    <div id="master">
    </div>
    <div id="slave">
    </div>
</div>

第一个 div 是原始球体,可以纯粹用border-radius.

在此处输入图像描述

-webkit-border-radius: 100px;
-moz-border-radius: 100px;
border-radius: 100px;
width:70px;
height:70px;
border-style:solid;
border-width:10px;
border-color:#573;

第二个 div 将具有较浅的颜色,同样纯粹是border-radius.

在此处输入图像描述

-webkit-border-radius: 100px;
-moz-border-radius: 100px;
border-radius: 100px;
width:70px;
height:70px;
border-style:solid;
border-width:10px;
border-color:#99FF33;

然后我们使用clip:rect(0px,50px,50px,0px);.

在此处输入图像描述

现在我们必须只修复定位,使用postion:relative;position:absolute;

CSS

#parent
{
    position:relative;
}
#master
{
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    width:70px;
    height:70px;
    border-style:solid;
    border-width:10px;
    border-color:#573;
}
#slave
{
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    width:70px;
    height:70px;
    border-style:solid;
    border-width:10px;
    border-color:#99FF33;
    position:absolute;
    top:0px;
    left:0px;
    clip:rect(0px,50px,50px,0px);
}

检查出来 -演示

在此处输入图像描述

检查此边界半径生成器(用于制作圆圈)。

更新

我找到了一种减少和增加的方法,但它需要 2 个从站,相同的 CSS 属性。

如果百分比为 50% 及以上,我们必须隐藏第二个从站,并减少或增加bottom第一个从站的 。

clip:rect(0px,50px,20px,0px);

在此处输入图像描述

clip:rect(0px,50px,100px,0px);

在此处输入图像描述

现在当圆的一半被填满时,我们必须show是第二个奴隶。要减少它并增加它,我们应该改变top.

clip:rect(60px,100px,100px,0px);

在此处输入图像描述

clip:rect(20px,100px,100px,0px);

在此处输入图像描述

看看 -演示

clip:rect(top,right,bottom,left);
于 2013-02-08T16:48:59.133 回答