首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

教你如何用css3的clip-path画扇形、空心扇形(透明背景哦)

最近不是在参加创意游戏的活动吗,就想用css能不能组合出一些好看的效果,比如空心的圆环,或者扇形之类的,于是乎就去网上搜教程,结果找遍了谷歌和百度都没能找到想要的结果,可能这个需求确实小,也可能是我搜索的姿势不对吧...,找出来的都是用障眼法实现相应的效果,根本不是我想要的,忽然想起来前阵子掘金给了一本张鑫旭大佬的css新世界,于是乎去翻了翻书里的内容,果然找到了解决的办法,那就是用强大的clip-path属性,下面就让我们来看看这个属性如何实现我们想要的效果的吧...先说说传统的做法是如何实现制作扇形的,我从网上得知的方法使用border-radius属性画两个半圆,然后通过旋转其中一个半圆的方式去达成想要的效果,就像下面这样 当扇形角度大于180度的时候,我们第二个半圆的颜色就要与第一个圆的颜色一样...clip-path有好几个方法,今天我们用到的是多边形裁剪polygon,这个属性的使用方法很简单,只要把你想要裁剪的图形的每个节点设置好,css就会把你设置的点连接起来,只留下连接线内存在的图形,就像下面这样...至于怎么做空心的扇形呢,也很简单,我们把圆的背景色改成边框就可以了,就像下面这样子,画一个边框,然后裁剪左上角的位置,边框和裁剪区域重叠的部分就会留下来。

3.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

Flutter 绘制探索 | 扇形区域与点击校验

前言 今天来探索一个问题,如何绘制一块扇形区域路径,并且校验触点是否落在 扇形区域 之中。这个问题对于绘制 饼图 及处理手势事件校验非常重要。 ---- 1....扇形区域的定义 首先来明确一下扇形区域的表示,如下图所示,一个 扇形区域 通过五个属性进行描述: 属性名 类型 作用 center Offset 扇心 innerRadius double 小圆半径 outRadius...绘制扇形区域 接下来看一下如何绘制扇形区域,思路是先生成 区域路径 ,然后绘制路径。...扇形区域的点击校验 下面来思考一个问题:当手指或鼠标点在界面上,如何校验该点是否在 扇形区域 之内。如下图,很明显 p1 在其中,p2 不在。如何通过代码进行校验呢?...,如果在,则绘制扇形填充。

1.1K30

canvas扇形图、饼状图绘制

上一篇说过使用arc属性绘制一个完整的圆,这是绘制扇形是不是可以刷一下小聪明吧弧度修改一下,你会发现绘制的扇形想西瓜皮一样,只有初始弧度到结束弧度的一个简单连接,就行下面这个样子,这肯定不是我们想要扇形的样子哇...扇形的弧度没有到圆心的连线啊,这不是我们理想中的扇形,(如下图) 这样老实巴交的扇形如何实现呢,很简单,在绘制扇形前进行路径引入 context.beginPath(); contetx.moveTo...DOCTYPE html> 扇形组合图像 *{ padding...DOCTYPE html> 空心圆 *{ padding...//创建一个圆 //扇形绘制需要给一个起始点之前的线条绘制相结合就可以解决,起始位置要和扇形圆心一致 //第一个扇形开始 cv.beginPath();//开启路径 cv.moveTo(300,300)

3.6K10

网页|扇形菜单—你不get一下吗?

一、扇形菜单介绍 扇形菜单,就是将导航菜单制作成扇形的形状。简单来说就是通过点击一个按钮,弹出一个以这个按钮为圆心的扇形按钮菜单,(可以根据需要添加按钮个数)。...图1.1 扇形菜单效果图 二、解析思路 通过分析扇形菜单页面,可以归纳总结出如下实现细节 : (1) 使用带有 touch 功能的 Zepto 文件实现。...span>音乐 聊天 (3)添加css...removeClass([class])从所有匹配的元素中删除全部或者指定的类,class(可选):一个或多个要删除的CSS类名,请用空格分开。...addClass(class)为每个匹配的元素添加指定的类名,class:一个或多个要添加到元素中的CSS类名,请用空格分开。

1.7K10

前端: 用javascript实现一个转盘小游戏?

本文主要介绍如何使用原生javascript和Css3来实现一个在各大移动应用中经常出现的转盘游戏,由于改实现可以有不同方式,如果熟悉canvas的话也可以用canvas实现,本文采用js和css实现主要考虑到复杂度较小性能较好...绘制转盘背景 我们采用背景渐变的方式去实现条纹交替的扇形,原理就是通过绘制一个半圆,并在半圆里加渐变来实现,如下图: 实现将方形变成半圆的css我们通过border-radius来实现: width...: 150px; height: 300px; border-radius: 0 150px 150px 0; 我们再通过css的线性渐变,这样本基本上可以实现一个小的扇形区域: 渐变的代码如下...,比如我们扇形弧度为30deg,那么我们需要12个扇形即可组成一个圆,为了方便,我们使用less的循环来实现: .loop(@n) when (@n >= 0) { .loop(@n - 1);...我们一般会想通过写个随机函数去做,不过这里有一种新的思路,就是通过随机生成中奖的位置来实现随机角度,由于我的扇形为30度,一共有12个扇形奖品区,所以索引为0-11。

1.4K10

用Javascript和css3实现一个转盘小游戏

本文主要介绍如何使用原生javascript和Css3来实现一个在各大移动应用中经常出现的转盘游戏,由于改实现可以有不同方式,如果熟悉canvas的话也可以用canvas实现,本文采用js和css实现主要考虑到复杂度较小性能较好...实现思路 实现思路分两部分,第一部分是用css绘制转盘背景,第二部分是通过js实现转盘的转动以及转动随机性的实现。 1....0; 我们再通过css的线性渐变,这样本基本上可以实现一个小的扇形区域: ?...我们自然可以通过计算,比如我们扇形弧度为30deg,那么我们需要12个扇形即可组成一个圆,为了方便,我们使用less的循环来实现: .loop(@n) when (@n >= 0) { .loop...我们一般会想通过写个随机函数去做,不过这里有一种新的思路,就是通过随机生成中奖的位置来实现随机角度,由于我的扇形为30度,一共有12个扇形奖品区,所以索引为0-11。

2.7K20
领券