如何用matplotlib画直方图_如何用CSS画曲线

6d26c55773887dd739ab4b925fff7fb2.png

问题

现实中碰到这样的问题:项目中需要一个 icon,但是没有设计师资源给你作图。然后你查了下常用的 icon font,发现也没有可以用的。那么这个时候如果 icon 比较简洁(譬如只有横线、竖线、斜线、曲线),那么可以使用 css 来画这个 icon。接下来我们先来介绍下如何用 css 画曲线。

解决方案

我们用到的是 css3 中的径向渐变:radial-gradient。以下所有示例基于如下 html:

<

基本

我们先看下基本使用:

.

显示的是从 div 中心为圆心,对角线的一半为半径的一个渐变圆。

bb916827e39cecc8293ded8db92667b3.png

颜色按所给出的依次渐变排列,可以是多个颜色。

.

13715cdd95fa7acf7af90a47bb000b55.png

默认径向图形是一个圆,如果要指定图形可以这么写

.

如果我们改下,改成 x 轴半径50px,y 轴半径100px 的椭圆,这么写:

.

a9a89664c4698f37ffa0754abbef8e76.png

渐变半径

默认每种颜色的渐变分布是均匀的,但是你可以指定每个颜色的渐变半径,可以是像素或者百分比,譬如:

.

89e81e97ec89cbd04b1b204327a2dfd2.png

或者

.

355b8339fb1c531d50745a8b86a60fda.png

我还可以指定渐变的终止半径(写在circle前面),也就是说在这个半径内,颜色是渐变的,这个半径外,颜色是平铺的:

.

21387fdf3b561f1830eb2b9ffd27c0b4.png

这里有一个特殊情况,当两个相邻的颜色的渐变半径相差很小时,很难看出来渐变效果,几乎就变成了分隔线:

.

8c6e8e5c7e67d325b86038c9afa5ba24.png

画圆

如果我们要模拟用黑色线单纯的画一个圆,那么就是:

.

8429c210568a163d536e4ade43ac97fd.png

画曲线

上面是一个完整的圆,如果只需要画任意一段曲线,可以通过 background-size 来缩小这个作为背景的圆的边界,达到截取弧的目的。

.

6829e1ff70814abfdc2d7a52ed238422.png
无底色 background-size 效果

7bd792eabe19198ebb0140997dbf1570.png
加上底色的 background-size 效果

ps:还可以通过设置 background-position 来移动曲线对应的圆心的位置,以达到移动曲线的目的。

多重曲线

上面我们画了一条曲线,如果我一个 div 要画好几根这么办,background 这个属性可以设置多个 radial-gradient 真是太方便了:

.

71430e0cd4daa847636e2f99b9715601.png

最后我们画一个实际的 icon 试试:

.

91fe12687369733414013add28b64692.png

参考文献

  1. 10个demo示例学会CSS3 radial-gradient径向渐变;
  2. 一个div:css绘画
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值