css3 html5画心
以下内容不是原创 我是搬运工
1.
<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="UTF-8"/>
		<title>myHeart</title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			.heart{
				position:absolute;
				left: 50%;
				top:50%;
				margin-left: -150px;
				margin-top: -135px;
				width: 300px;
				height:270px;
				background: transparent;
				/*box-shadow: 2px 2px 5px #000;*/
				filter:drop-shadow(0px 0px 20px rgb(255,20,20));
				animation: test 1s linear infinite;
			}
			.heart:before,
			.heart:after{
				content: "";
				position: absolute;
				left: 150px;
				width: 150px;
				height: 240px;
				background: rgb(255,0,0);
				border-radius: 150px 150px 0 0;
				transform:rotate(-45deg);
				transform-origin: 0 100%;
			}
			.heart:after{
				left: 0;
				transform:rotate(45deg);
				transform-origin: 100% 100%;
			}
			@keyframes test{
				0%{
					transform: scale(0.8,0.8);
					opacity: 1;
				}
				25%{
					transform: scale(1,1);
					opacity: 0.8;
				}
				100%{
					transform: scale(0.8,0.8);
					opacity: 1;
				}
			}
		</style>
	</head>
	<body>
		<div class="heart"></div>
		<script>
			// alert(window.navigator.userAgent);
		</script>
	</body>
</html>
2.
<!DOCTYPE html> 
<html>   
<head>  
    <title>Draw Heart</title>  
    <style type="text/css">  
        * {  
            margin: 0;  
            padding: 0;  
        }
html {  
            height: 100%;  
            margin: 0;  
        }
body {  
            height: 100%;  
            background-color:white;  
        }
#canvasZone {  
            width: 100%;  
            height: 100%;  
            text-align: center;  
            background-color: black;  
        }
#myCanvas {  
            height:100%;  
            display: block;  
            /*background-color:aqua;*/  
        }  
    </style>  
    <script type="text/javascript">  
        var arr = [];//保存所有的XY坐标,只为验证。实际程序中可删除。  
        var r = 4;  
        var radian;//弧度  
        var i;  
        var radianDecrement;//弧度增量  
        var time = 10;//每个点之间的时间间隔  
        var intervalId;  
        var num = 360;//分割为 360 个点  
        var startRadian = Math.PI;  
        var ctx;  
        window.onload = function () {  
            startAnimation();  
        }  
        function startAnimation() {  
            ctx = document.getElementById("myCanvas").getContext("2d");  
            //让画布撑满整个屏幕,-20是滚动条的位置,需留出。如滚动条出现则会挤压画布。  
            WINDOW_HEIGHT=document.documentElement.clientHeight-20;  
            WINDOW_WIDTH=document.documentElement.clientWidth-20;  
            ctx.width = WINDOW_WIDTH;  
            ctx.heigh = WINDOW_HEIGHT;  
            drawHeart();  
        }
function drawHeart() {
ctx.strokeStyle = "red";  
            ctx.lineWidth = 1;//设置线的宽度  
            radian = startRadian;//弧度设为初始弧度  
            radianDecrement = Math.PI / num * 2;  
            ctx.moveTo(getX(radian), getY(radian));//移动到初始点  
            i = 0;  
            intervalId = setInterval("printHeart()", time);  
        }  
        //x = 16 sin^3 t, y = (13 cos t - 5 cos 2t - 2 cos 3t - cos 4t)  
        function printHeart() {  
            radian += radianDecrement;  
            ctx.lineTo(getX(radian), getY(radian));//在旧点和新点之间连线  
            //arr.push("X:" + getX(radian) + "<br/>Y:" + getY(radian) + "<br/>");  
            i++;  
            ctx.stroke();//画线  
            if (i >= num) {  
                clearInterval(intervalId);  
                //document.getElementById("bs").innerHTML = arr.join("");//打印所有的XY坐标点。  
            }  
        }  
        function getX(t) {//由弧度得到 X 坐标  
            return 100 + r * (16 * Math.pow(Math.sin(t), 3));  
        }
function getY(t) {//由弧度得到 Y 坐标  
            return 50 - r * (13 * Math.cos(t) - 5 * Math.cos(2 * t) - 2 * Math.cos(3 * t) - Math.cos(4 * t));  
        }  
    </script>   
</head>    
<body>    
    <div id="canvasZone">  
        <canvas id="myCanvas"></canvas>  
    </div>  
    <div id="bs">  
    </div>    
</body>    
</html>
css3 html5画心的更多相关文章
- CSS3+HTML5特效8 - 顶部和右侧固定,左侧随窗口变化的布局
		原文:CSS3+HTML5特效8 - 顶部和右侧固定,左侧随窗口变化的布局 效果演示 实现原理 使用3个div(一个是顶部栏,一个是左侧栏,一个是右侧栏): 使用checkbox作为判断是否显示和隐藏 ... 
- CSS3+HTML5特效9 - 简单的时钟
		原文:CSS3+HTML5特效9 - 简单的时钟 效果演示(加快了100倍) 实现原理 利用CSS3的transform-origin 及 transform 完成以上效果. 代码及说 ... 
- js+css3+HTML5拖动滑块(type="range")改变值
		最近在做一个H5的改版项目,产品和设计给出的效果中有一个拖动滑块可以改变输入值的效果,类似如下图这样: 拿到这样的设计稿后,我有点懵了,自己写一个js?去网上找一个这样的效果?自己写一个可以,只是实现 ... 
- 超酷 CSS3/HTML5 3D 飘带菜单实现教程
		今天我们来介绍一款很有创意的CSS3/HTML5菜单,首先菜单是飘带形状的,看起来很优雅,这种菜单在个人博客中用的比较多,不仅干净利落,而且很具有个性化.另外,这款菜单在鼠标滑过菜单项时,将会出现3D ... 
- 学习笔记 第十二章 CSS3+HTML5网页排版
		第12章 CSS3+HTML5网页排版 [学习重点] 正确使用HTML5结构标签 正确使用HTML5语义元素 能够设计符合标准的网页结构 12.1 使用结构标签 在制作网页时,不仅需要使用< ... 
- 8款强大的CSS3/HTML5动画及应用源码
		1.CSS3 jQuery UI控制滑杆插件 今天我们要来分享一款基于CSS3和jQuery UI的控制滑杆插件,这款控制滑杆是在HTML5滑杆元素的基础上进行自定义CSS3渲染,所以外观更加漂亮.另 ... 
- [CSS3 + HTML5] Modernizr
		Modernizr is a library for detecting whether the user's browsers have certain features and based on ... 
- CSS3/HTML5实现漂亮的分步骤注册登录表单
		分步骤的登录注册表单现在也比较多,主要是能提高用户体验,用户可以有选择性的填写相应的表单信息,不至于让用户看到一堆表单望而却步.今天和大家分享的就是一款基于HTML5和CSS3的分步骤注册登录表单,外 ... 
- CSS3&HTML5各浏览器支持情况一览表
		http://fmbip.com/ CSS3性质(CSS3 Properties) 平台 MAC WIN 浏览器 CHROME FIREFOX OPERA SAFARI CHROME FIREFOX ... 
随机推荐
- 在LoadRunner中进行Base64的编码和解码
			<Base64 Encode/Decode for LoadRunner>这篇文章介绍了如何在LoadRunner中对字符串进行Base64的编码和解码: http://ptfrontli ... 
- LoadRunner解决超时错误
			在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试.下面结合常用的协议(如Web.We ... 
- 001-使用idea开发环境安装部署,npm工具栏,脚本运行
			一.概述 参看官方文档:https://ant.design/docs/spec/introduce-cn 其中包含了设计价值观.设计原则.视觉.模式.可视化.动态等. 其中Ant Design 的 ... 
- (42)JS运动之多物体框架--多个div变宽
			假设仅仅为div加入一个定时器的话.在多个div变宽的时候会发生故障.可是假设为每一个div加入一个定时器.那么就能够实现多个物体变宽. 注意:在多物体运动的情况下,全部东西不能共用.offsetXX ... 
- 轻量级php框架phpk v1.0发布
			phpk框架简介 PHPK是一个简单易用,易于扩展的轻量级PHP框架.phpk不仅仅是一个php框架,也是一个js框架,内置一套全新的js内库,完全摒弃了庞大的jquery,所有的前端都是一个全新的微 ... 
- mongod启动时候几个参数说明
			1.--storageEngine从3.0开始,新增了一个存储引擎WT.老版本的存储引擎被称作mmapv1 2.--oplogSizeOplog是复制的主要组成部分,位于local数据库中.在初始化复 ... 
- ajax 上传图片
			index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ... 
- object-c全局变量
			跟c++一定,在.m里Obj*obj=NULL,在.h里extern Obj*obj 即可. 
- Atitit.antlr实现词法分析
			Atitit.antlr实现词法分析 1.1. antlrworks-1.4.3.jar wizard1 1.2. 词法的类型 id,int,float ,comment,str,char,wh ... 
- atitit。html css框架Bootstrap  Foundation的比较与不同 attilax大总结
			atitit.html css框架Bootstrap Foundation的比较与不同 attilax大总结 1. Bootstrap Foundation的比较与不同1 2. Bootstrap ... 
