css3 绘制画圆、扇形

作者: 560b7bb7b879 | 来源:发表于2018-12-01 21:33 被阅读6次

css已经越来越强大了 ,可以使用它来绘制各种简单的形状,用于代替图片显示,这次的分享主要用到画圆,扇形

实现圆形

<div class="circle"></div>
<style>
.circle {
  border-radius: 50%;
  width: 80px;
  height: 80px;
  background: #666;
}
</style>

效果如下:

border-radius圆角的四个值按顺序取值分别为:左上、右上、右下、左下。这里只设置一个值,代表四个角的取值都为为50%

原理:

border-radius: 50% 弯曲元素的边框以创建圆。
由于圆在任何给定点具有相同的半径,故宽和高都需要保证一样的值,不同的值将创建椭圆。

实现扇形

利用border-radius,实现90度角的扇形:

<div class="sector"></div>
<style>
.sector{
  border-radius:80px 0 0;
  width: 80px;
  height: 80px;
  background: #666;
}
</style>

效果如下:

原理:

左上角是圆角,其余三个角都是直角:左上角的值为宽和高一样的值,其他三个角的值不变(等于0)。

2、绘制任意角度的扇形

效果如下:

/绘制一个60度扇形/

/绘制一个85度扇形/

/绘制一个向右扇形,90度扇形/

/*绘制一个颜色扇形 */

/*绘制一个不同颜色半圆夹角 */

完整代码如下:

<div class="shanxing shanxing1">
    <div class="sx1"></div>
     <div class="sx2"></div>
</div>
<!--*绘制一个85度扇形*/--p>
<div class="shanxing shanxing2">
    <div class="sx1"></div>
     <div class="sx2"></div>
</div>
<!--*绘制一个向右扇形,90度扇形*-->
<div class="shanxing shanxing3">
    <div class="sx1"></div>
     <div class="sx2"></div>
</div>
<!--*绘制一个颜色扇形 */--p>
<div class="shanxing shanxing4">
    <div class="sx1"></div>
     <div class="sx2"></div>
</div>
<!--/*绘制一个不同颜色半圆夹角 */-->
<div class="shanxing shanxing5">
    <div class="sx1"></div>
     <div class="sx2"></div>
</div>
<style>
.shanxing{
    position: relative;
    width: 200px;
    height: 200px;
    border-radius: 100px;
    background-color: yellow;
}

.sx1{
    position: absolute;
    width: 200px;
    height: 200px;
    transform: rotate(0deg);
    clip: rect(0px,100px,200px,0px); /*这个clip属性用来绘制半圆,在clip的rect范围内的内容显示出来,使用clip属性,元素必须是absolute的 */
    border-radius: 100px;
    background-color: #f00;
    /*-webkit-animation: an1 2s infinite linear; */
}

.sx2{
    position: absolute;
    width: 200px;
    height: 200px;
    transform: rotate(0deg);
    clip: rect(0px,100px,200px,0px);
    border-radius: 100px;
    background-color: #f00;
    /*-webkit-animation: an2 2s infinite linear;*/
}

/*绘制一个60度扇形*/
.shanxing1 .sx1{transform: rotate(-30deg);}
.shanxing1 .sx2{transform: rotate(-150deg);}

/*绘制一个85度扇形*/
.shanxing2 .sx1{transform: rotate(-45deg);}
.shanxing2 .sx2{transform: rotate(-140deg);}

/*绘制一个向右扇形,90度扇形*/
.shanxing3 .sx1{transform: rotate(45deg);}
.shanxing3 .sx2{transform: rotate(-45deg);}

/*绘制一个颜色扇形 */
.shanxing4 .sx1{transform: rotate(45deg);background-color: #fff;}
.shanxing4 .sx2{transform: rotate(-45deg);background-color: #fff;}

/*绘制一个不同颜色半圆夹角 */
.shanxing5 .sx1{transform: rotate(45deg);background-color: #f00;}
.shanxing5 .sx2{transform: rotate(-45deg);background-color: #0f0;       
</style>

前端的专业程度很强,80%的问题自己很难解决,而且会很浪费时间,一个小问题可以困扰一天,这样自信心会受到严重的打击!

可以加入我的前端学习q-u-n-【 731771211 】
无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!希望新手少走弯路

相关文章

  • css3 绘制画圆、扇形

    css已经越来越强大了 ,可以使用它来绘制各种简单的形状,用于代替图片显示,这次的分享主要用到画圆,扇形 实现圆形...

  • css3 绘制扇形

    css3 绘制扇形, 可使用利用border的属性,首先绘制一个原型, 然后使用border-color属性 设置...

  • Qt编写自定义控件21-圆弧仪表盘

    一、前言 圆弧仪表盘在整个自定义控件大全中也稍微遇到了技术难点,比如背景透明,如果采用以前画圆形画扇形的方式绘制,...

  • UIBezierPath

    UIBezierPath 画线 画圆 画曲线 画矩形 绘制圆角矩形 绘制椭圆

  • 用Canvas绘制抽奖游戏

    具体实现代码如下:1.绘制跑马灯 2.绘制每一份的抽奖扇形图 3.在扇形上绘制奖品 demo地址为:https:/...

  • CGContextRef

    自定义显示画框的view 画直线 写文字 画弧线 画圆 有填充颜色的圆 画矩形 画扇形,其实就是画圆,设置一下角度。

  • 「AI教程」轻松绘制扇形渐变

    扇形渐变,在ps用角度渐变很好绘制,AI里没有角度渐变,那怎么样轻松的绘制扇形渐变呢? 此教程简单粗暴,但非常有效...

  • Android中canvas基本使用

    canvas绘制 基本方法: canvas.drawArc ()//(扇形) canvas.drawCircle(...

  • 绘制扇形小按钮

    创建绘图view(RJPieView) .h文件内容 .m文件内容 初始化方法 绘图 区分点击区域 使用方法 实现...

  • 纯 Css 绘制扇形

    阅读此文需具备基本数学知识:圆心角、弧度制、三角函数。 为实现如下效果呕心沥血: 当然你可以拥抱 Svg...在此...

网友评论

    本文标题:css3 绘制画圆、扇形

    本文链接:https://www.haomeiwen.com/subject/twtdcqtx.html