问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

html5渐变效果出不来,怎么才能实现呢?高手指教!

发布网友 发布时间:2022-05-12 07:00

我来回答

2个回答

懂视网 时间:2022-05-12 11:21

HTML5版径向渐变梯度色彩

有个读者问我如何用HTML5生成一个径向梯度色彩效果,而不使用图片。仔细思考下,其实这个问题一点都不难,请看代码。

1124.jpg

HTML

<!DOCTYPE html>
<html >
<head>
<meta charset="utf-8" />
<meta name="author" content="Script Tutorials" />
<title>HTML5 Radial Gradient | Script Tutorials</title>
<!-- add styles -->
<link href="css/main.css" rel="stylesheet" type="text/css" />
<!-- add script -->
<script src="js/script.js">
</script>
</head>
<body>
<div>
<canvas id="gradient" width="500" height="500" tabindex="1">
</canvas>
</div>
</body>
</html>

JS

// Get angle color function
function getAngleColor(angle) {
var color, d;

if (angle < Math.PI * 2 / 5) { // angle: 0-72
d = 255 / (Math.PI * 2 / 5) * angle;
color = '255,' + Math.round(d) + ',0'; // color: 255,0,0 - 255,255,0
} else if (angle < Math.PI * 4 / 5) { // angle: 72-144
d = 255 / (Math.PI * 2 / 5) * (angle - Math.PI * 2 / 5);
color = (255 - Math.round(d)) + ',255,0'; // color: 255,255,0 - 0,255,0
} else if (angle < Math.PI * 6 / 5) { // angle: 144-216
d = 255 / (Math.PI * 2 / 5) * (angle - Math.PI * 4 / 5);
color = '0,255,' + Math.round(d); // color: 0,255,0 - 0,255,255
} else if (angle < Math.PI * 8 / 5) { // angle: 216-288
d = 255 / (Math.PI * 2 / 5) * (angle - Math.PI * 6 / 5);
color = '0,'+(255 - Math.round(d)) + ',255'; // color: 0,255,255 - 0,0,255
} else { // angle: 288-360
d = 255 / (Math.PI * 2 / 5) * (angle - Math.PI * 8 / 5);
color = Math.round(d) + ',0,' + (255 - Math.round(d)) ; // color: 0,0,255 - 255,0,0
}
return color;
}

// inner variables
var iSectors = 360;
var iSectorAngle = (360 / iSectors) / 180 * Math.PI; // in radians

// Draw radial gradient function
function drawGradient() {

// prepare canvas and context objects
var canvas = document.getElementById('gradient');
var ctx = canvas.getContext('2d');

// clear canvas
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);

// save current context
ctx.save();

// move to center
ctx.translate(canvas.width / 2, canvas.height / 2);

// draw all sectors
for (var i = 0; i < iSectors; i++) {

// start and end angles (in radians)
var startAngle = 0;
var endAngle = startAngle + iSectorAngle;

// radius for sectors
var radius = (canvas.width / 2) - 1;

// get angle color
var color = getAngleColor(iSectorAngle * i);

// draw a sector
ctx.beginPath();
ctx.moveTo(0, 0);
ctx.arc(0, 0, radius, startAngle, endAngle, false);
ctx.closePath();

// stroke a sector
ctx.strokeStyle = 'rgb('+color+')';
ctx.stroke();

// fill a sector
ctx.fillStyle = 'rgb('+color+')';
ctx.fill();

// rotate to the next sector
ctx.rotate(iSectorAngle);
}

// restore context
ctx.restore();
}

// initialization
if(window.attachEvent) {
window.attachEvent('onload', drawGradient);
} else {
if(window.onload) {
var curronload = window.onload;
var newonload = function() {
curronload();
drawGradient();
};
window.onload = newonload;
} else {
window.onload = drawGradient;
}
}

热心网友 时间:2022-05-12 08:29

头部改成<!doctype html>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
"电话机响起,你要说话了,还以为你对我又想念了"这句歌词是哪一首歌的... ...电话响起了,你要说话了”,“是你变了”这首歌是什么 关于职业的英语单词小学2o个 ...的英语单词有哪些?要20个以上!人物,其实就是职业什么的,比如医生... 剑网3指尖江湖哪个料理好_性价比高的料理菜肴推荐 剑网3指尖江湖菜谱大全介绍_剑网3指尖江湖菜谱大全是什么 剑网3指尖江湖菜谱大全 我耳朵里长了疙瘩,黑色的,不痛不痒,医生说交界痣,建议我做手术,但现... 耳朵里有耳屎抠出来中间是黑的,抠的时候抠不出来,不动痒痒 微信登不上了 任何可能什么应在通风橱内进行? 通风橱的安全性能体现在哪些方面 使用通风橱柜的几个基本常识 使用通风柜时要注意什么啊? 使用通风柜时要注意什么? 实验室通风柜使用需要注意什么事项? 通风橱使用应注意哪些 实验室通风柜应如何安全操作? 实验室通风橱的安全使用事项 通风橱吸进去塑料袋怎么办 如何正确使用通风柜 买的新鲜牛肉上面有很多透明的粘稠的是什么? 帮忙写一篇收集春联的日记 小学生二年级 四川剑阁县哪里有蒲姓,剑阁蒲姓辈字怎么排? 蒲松龄名字的含义或由来 四川南充蒲氏字辈:“大德正光明”。“文广世为运,永长春景荣,元华定光明,自有成德福”。 蒲姓字辈,万国平 蒲姓的家谱文献 有人知道四川南充河西蒲姓的辈分排名吗? 蒲氏家族辈分排名字,爷爷德字辈,爸爸立字辈,我志字辈? 好好味是什么意思 也嗨好好味是什么意思 (咬咬功,越咬越厉害,咬多几下仲好好味) 这是粤语 翻译成汉字是啥意思哦 仲唔比是什么意思… 你好,我想问下林子祥《分分钟需要你》这首歌歌词是什么意思啊。我听不懂。各位帮帮忙告诉我一下。 当一个员工送礼物给老板的时候老板说对我这么好很感动,意思是员工要怎么回答老板? 失去的你会后悔,所以不让悲剧发生了是什么意思? 知足是什么?快乐是什么?爱情是什么? 好律师网上如何找到适合自己公司用的合同范本? 报考外省考试需要六个月劳务合同,如果没有就业协议可以吗 微商的代理费可以退吗 做微商代理能赚钱吗,微商总代理合同纠纷 上海3.11什么考试 - 信息提示 2022年上海师范会计专业预测多少分复试 2022年上海职业技能大赛参加方式 - 信息提示 跨平台数据库管理工具 DbVisualizer pro 10 破解免费资源 自己手误删除的短信该怎么恢复。 哪个软件可以破解进数据库啊?