html5知识总结,HTML5初级知识总结
1.canvas绘制
步骤
l 添加canvas元素,定义id和范围
l js里获取canvas元素
l 通过getContext()方法获取2D绘制环境
l 通过不同的函数进行图形绘制
坐标定位
l 绘制的图形定位都是以canvas的左上角为(0,0)原点
绘制直线
l moveTo(): 规定起始点
l lineTo(): 从起点绘制到规定坐标的直线
l stroke(): 实现绘制直线的功能
l fill(): 实现填充功能
实例:绘制一个三角形
html代码
js代码
window.onload = function(){
var canvas = document.getElementById("canvas");
canvas.width = 800;
canvas.height = 800;
var context = canvas.getContext('2d');
context.strokeStyle = "red";
context.moveTo(100, 100);
context.lineTo(200, 100);
context.lineTo(150,50);
context.lineTo(100,100);
context.stroke();
};
1.png
绘制矩形
l fillStyle():设置矩形填充颜色。
l fillRect(x,y,width,height)。
l strokeStyle():设置矩形轮廓颜色。
l strokeRect(x,y,width,height)。
绘制圆形(弧形)
l beginPath():开始绘制路线
l arc(x,y,radius,startAngle,endAngle,anticlockwise)
设置绘制的中心点,半径,起始角度,结束角度和绘制方向。
贝塞尔曲线
二次贝塞尔曲线
l quadraticCurveTo(cp1x,cp1y,x,y)
cp1x,cp1y 表示一个控制点坐标;x,y代表终点坐标。
三次贝塞尔曲线
l bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)
cp1x,cp1y和cp2x,cp2y分别代表两个控制点。
实例1:绘制一个五角星
window.onload = function() {
var canvas = document.getElementById("canvas");
var context = canvas.getContext('2d');
drawStar(context, 120, 120, 80, 30, 10, "yellow", 0);
}
function drawStar(context, x, y, R, r, width, color, rotation) {
context.beginPath();
for (var i = 0; i < 5; i++) {
context.lineTo(Math.cos((18 + i * 72 - rotation) / 180 * Math.PI) * R + x, -Math.sin((18 + i * 72 - rotation) / 180 * Math.PI) * R + y);
context.lineTo(Math.cos((54 + i * 72 - rotation) / 180 * Math.PI) * r + x, -Math.sin((54 + i * 72 - rotation) / 180 * Math.PI) * r + y);
}
context.closePath();
context.lineWidth = width;
context.fillStyle = color;
context.fill();
}
2.png
实例2:绘制宝马标志
window.onload = function() {
var canvas = document.getElementById("canvas");
canvas.width = 800;
canvas.height = 800;
var context = canvas.getContext('2d');
//圆心坐标x,y 内圆半径r 外圆半径R
var x = 100;
var y = 100;
var r = 100;
var R = r + 50;
var colors = Array("#87CEFA", "#FAFAFA", "#000");
context.beginPath();
context.translate(100, 100);
context.arc(x, y, R, 0, Math.PI * 2);
line_gra = context.createLinearGradient(-10, -10,20, 50);
line_gra.addColorStop(0, "#ddd");
line_gra.addColorStop(1, "#262626");
context.lineWidth = 3;
context.strokeStyle = "#000";
context.fillStyle = line_gra;
context.closePath();
context.stroke();
context.fill();
drawBigRound(context, x, y, r, 53, "#ADD8E6", 7);
drawBm(context, x, y, r, colors);
drawBigRound(context, x, y, r, 3, "#9FB6CD", 5);
context.beginPath();
context.fillStyle = "#fff";
context.font = "bold 40px verdana";
context.fillText("M", 80, -10);
context.rotate(Math.PI / 6);
context.fillText("W", 125, -75);
context.rotate(-(Math.PI / 2));
context.fillText("B", 0, 35);
context.restore();
}
function drawBm(context, x, y, r, colors) {
var color;
for (var i = 0; i < 4; i++) {
context.beginPath();
context.moveTo(x, y);
context.arc(x, y, r, Math.PI * i / 2, Math.PI * (i + 1) / 2);
if (i == 0 || i == 2) {
color = colors[0];
} else {
color = colors[1];
}
context.fillStyle = color;
context.lineWidth = 2;
context.strokeStyle = colors[2];
context.closePath();
context.fill();
context.stroke();
}
}
function drawBigRound(context, x, y, r, addr, color, lineWidth) {
context.beginPath();
context.arc(x, y, r + addr, 0, Math.PI * 2);
context.lineWidth = lineWidth;
context.strokeStyle = color;
context.closePath();
context.stroke();
}
bm.png
2.CSS3 阴影 box-shadow
l box-shadow: h-shadow v-shadow blur spread color inset;
l h-shadow 必需。水平阴影的位置。允许负值。
l v-shadow 必需。垂直阴影的位置。允许负值。
l blur 可选。模糊距离。
l spread 可选。阴影的尺寸。
l color 可选。阴影的颜色。请参阅 CSS 颜色值。
l inset 可选。将外部阴影 (outset) 改为内部阴影。
3.CSS3 transform属性
transform: none|transform-functions;
l transform:rotate(): 旋转,deg是度的意思
transform: rotate(-10deg);
l transform:skew(): 倾斜
transform:skew(20deg);
l transform:scale(): 缩放,x方向2倍,y方向1.5倍
transform: scale(2, 1.5);
l transform:translate(): 平移,x方向平移120px,y方向平移10px
transform:translate(120px,10px);
4.CSS3 transtion属性
transition: property duration timing-function delay;
l transition-property 规定设置过渡效果的 CSS 属性的名称。
l transition-duration 规定完成过渡效果需要多少秒或毫秒。
l transition-timing-function 规定速度效果的速度曲线。
l transition-delay 定义过渡效果何时开始。
div{
width:100px;
transition: width 2s;
-moz-transition: width 2s; /* Firefox 4 */
-webkit-transition: width 2s; /* Safari 和 Chrome */
-o-transition: width 2s; /* Opera */
}
html5知识总结,HTML5初级知识总结相关推荐
- HTML5 与 CSS3 jQuery部分知识总结
一. HTML5 为什么需要HTML5 什么是HTML5 HTML5现状及浏览器支持 HTML5优点与缺点 HTML5语法规则与文档声明 HTML5新增表达标签 HTML5多媒体组件 HTML5 ...
- HTML5学习笔记 —— JavaScript基础知识
HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...
- 人工智能(10)---机器学习知识体系篇(初级篇,中级篇,高级篇)
机器学习知识体系篇(初级篇,中级篇,高级篇) 下面是自己总结一套人工智能机器学习整个知识体系,一起学习,有总结不到位的希望大家给出纠正! 一 人工智能基础语法篇 二 人工智能中级篇 三 人工智能高级篇
- 计算机操作员初级理论知识试卷3,初级计算机操作员理论知识试卷.doc
初级计算机操作员理论知识试卷.doc 初级计算机操作员理论知识试卷( 技校2012年第 批) 考生姓名 考试日期 得分 第一题 单项选择题(每题2分,共60分)1.在购买计算机时,"Pent ...
- 计算机科学与技术初级知识,计算机科学与技术专业课程有哪些
计算机科学与技术专业课程有哪些2021-06-15 14:18:02文/李文源 数字电路.计算机系统结构.算法.程序设计语言.软件工程.并行分布计算.智能技术.计算机图形学与人机交互等知识领域的基本内 ...
- 网页设计与制作html5教学目标,HTML5+CSS3网页设计与制作—教学大纲(10页)-原创力文档...
博学谷--让IT 教学更简单,让IT 学习更有效 <HTML5+CSS3 网页设计与制作>课程教学大纲 (课程英文名称) 课程编号: 学 分:5 学分 学 时:74 学时 (其中:讲课学时 ...
- html5网页设计教程电子书,HTML5教程(使用HTML5设计网络富客户端应用)
该作品是PDF文件格式请下载 福昕PDF阅读器 新的强大的多媒体和交互功能的HTML5,<HTML5: Designing Rich Internet Applications >包括风格 ...
- 2013 HTML5 峰会,HTML5 守望者的盛宴
2013,HTML5 峰会再度来袭,一场属于 HTML5 守望者的盛宴!HTML5 作为新兴技术,未来光明但道路曲折.不管 HTML5 是遥不可及的幻想,还是眼下移动互联网的救命稻草?需要我们携手共建 ...
- html5 svg特性,HTML5新特性——HTML 5 Canvas vs. SVG
Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...
- HTML5视频教程,HTML5项目实战,HTML5中文指南,HTML5使用手册
HTML5视频教程,HTML5项目实战,HTML5中文指南,HTML5使用手册. 超过2G 的 HTML5 视频教程免费分享,免费下载! 尚硅谷前端HTML5视频_HTML & CSS 核心基 ...
最新文章
- 从V.C.Space抄来的
- ACL 2020 | 基于稠密段落检索的开放域问答系统技术
- 修改python默认的编码方式
- MathType可以在Word、PPT中插入矩阵吗
- WireShark抓包,may be caused by ip checksum offload的解决办法
- C#设计模式:迭代器模式(Iterator Pattern)
- chr sqlserver_SQLServer常用函数对比
- 应用安全 - 代码审计 - PHP
- 关于http-server的备选方案-- browser-sync
- 用excel制作双层饼图_教程:用Excel做饼图之复合饼图与双层饼图(2)
- PM42L-048 步进电机
- 关于笔记本WLAN(无线)口共享给以太网口
- After Effects CS4 \CS5\CS6\CC2015\CC2017\CC2018\CC2019安装包及教程
- MYSQL函数group_concat的使用
- UE4插件研发 So Easy
- 详解3DTouch集成篇
- 关于条件编译和预编译的一点学习心得
- 入驻华为云·云享专家了~
- 财政部、税务总局:集成电路设计和软件企业免两年所得税
- 解决国产电脑微信卡顿问题的脚本
热门文章
- java设计优化--观察者模式
- ActiveMQ 入门
- 图画hadoop -- 生态圈
- comboBox设置为只读(只选)
- 深入浅出mfc学习笔记——六大关键技术之仿真_运行时和动态创建
- python selenium自动化_python selenium自动化之-环境搭建
- 在python中等号前面与后面分别是什么意思-Python中%是什么意思?python中百分号如何使用?...
- python安装在什么系统下最好-windows系统下Python环境的搭建
- python起步输入-第 4 节 小Python 起步
- python常见错误-新手常见Python错误及异常解决处理方案