利用CSS绘制任意角度的扇形示例代码
建站知识 2021-07-03 08:42www.168986.cn长沙网站建设
前言
扇形制作原理,底部一个纯色原形,里面2个相同颜色的半圆,可以是白色,内部半圆按一定角度变化,就可以产生出扇形效果
效果图
示例代码
<html> <head> <meta charset="UTF-8"> <title>扇形绘制</title> <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> </head> <body> 扇形制作原理,底部一个纯色原形,里面2个相同颜色的半圆,可以是白色,内部半圆按一定角度变化,就可以产生出扇形效果 <p>/绘制一个60度扇形/</p> <div class="shanxing shanxing1"> <div class="sx1"></div> <div class="sx2"></div> </div> <p>/绘制一个85度扇形/</p> <div class="shanxing shanxing2"> <div class="sx1"></div> <div class="sx2"></div> </div> <p>/绘制一个向右扇形,90度扇形/</p> <div class="shanxing shanxing3"> <div class="sx1"></div> <div class="sx2"></div> </div> <p>/绘制一个颜色扇形 /</p> <div class="shanxing shanxing4"> <div class="sx1"></div> <div class="sx2"></div> </div> <p>/绘制一个不同颜色半圆夹角 /</p> <div class="shanxing shanxing5"> <div class="sx1"></div> <div class="sx2"></div> </div> </body> </html>
狼蚁网站SEO优化这个是结合css+html5+javascript的一个更复杂的圆环图形
<%@ page language="java" import="java.util." pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>circle</title> <style type="text/css"> #myCanvas{} #nihao{ position: absolute; :10px; z-index: 1; } </style> </head> <body style="background:#FBFBFB;"> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> not suopport canvas </canvas> <div id="nihao"></div> <script> var text=document.getElementById("nihao"); text.innerHTML="woshiwuxinguo"; var i=0.9;//这里默认设置好评率为90% var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.beginPath(); ctx.lineWidth=10; ctx.strokeStyle="gray"; ctx.arc(100,75,50,0,2Math.PI); ctx.fillStyle="#FBFBFB"; ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.translate(100,75); ctx.rotate(-90Math.PI/180); ctx.strokeStyle="#FFCFCF"; ctx.arc(0,0,50,0,2Math.PIi); ctx.stroke(); c.addEventListener("mouseover", function(e) { ctx.beginPath(); ctx.strokeStyle="gray"; ctx.arc(0,0,50,0,2Math.PI); ctx.stroke(); var finish=i; var step=0; var internal=setInterval(function(e) { console.log("step:"+step); if(step<finish){ step=step+0.01; ctx.beginPath(); ctx.strokeStyle="#FFCFCF"; ctx.arc(0,0,50,0,2Math.PIstep); ctx.stroke(); }else{ clearInterval(internal); } }, 0.5) }, true) </script> </body> </html>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对狼蚁SEO的支持。
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键