HTML5版径向渐变梯度色彩
有个读者问我如何用HTML5生成一个径向梯度色彩效果,而不使用图片。仔细思考下,其实这个问题一点都不难,请看代码。
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; } }
以上就是HTML5版径向渐变梯度色彩的内容,更多相关内容请关注PHP中文网(www.php.cn)!

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载
最流行的的开源编辑器

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)