最近在做一个关于房屋装修的手机上的项目,前台是用H5+C3完成的,挂在微信上。所有相对来说不是很难。
这段时间通过敲Html5+Css3,分享一些自己认为值得学习的知识。都很简单,自己操作一遍就会了。前台说简单简单,说难也难。刚开始画的时候,各种调试,各种不熟练。但是自己敲几个demo,完成几个页面,效率满满就提升了。看着自己画的美美哒界面,心里也是美美哒。
如何绘制一个锯齿状的矩形:如图
我们知道绘制图形可以用canvas ,canvas是HTML5出现的新标签,用于在网页上绘制图形,H5的canvass使用Javascript在网页上绘制图形。
如上锯齿状的矩形,就是用canvas绘制的。
实现代码:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>锯齿图</title> <script type="text/javascript"> window.addEventListener("load", eventWindowLoaded, false); function eventWindowLoaded(){ var x,y; var theCanvas = document.getElementById("canvas"); var context = theCanvas.getContext("2d"); context.strokeStyle = '#CB9A61'; context.lineWidth=10; context.strokeRect(10, 10, theCanvas.width-20, theCanvas.height-20); context.fillStyle = "#FFFFFF"; for(x=5;x<=canvas.width;x=x+10){ context.beginPath(); context.arc(x,5,5,0,Math.PI*2,true); context.arc(x,canvas.height-5,5,0,Math.PI*2,true); context.closePath(); context.fill(); } for(y=5;y<=canvas.height;y=y+10){ context.beginPath(); context.arc(5,y,5,0,Math.PI*2,true); context.arc(canvas.width-5,y,5,0,Math.PI*2,true); context.closePath(); context.fill(); } } </script> </head> <body> <div style="position: absolute; top: 100px; left: 100px;"> <canvas id="canvas" width="400" height="170" top=50px; left=50px;> </div> </body> </html>
起初是这么一个思路,用一个div,中间画个斜线,分成两部分,两种颜色,但是没有实现,由于前台薄弱,能力有限,想到了另外一种方案。
用三个div,左右是两个div,设置宽和高,起重要作用的其实是这一部分:
其实就是一个矩形,分成两个三角形,最后实现了如上效果。换个思路,实现起来so easy,不能在一棵树上吊死。
代码如下:
<!DOCTYPE HTML> <html lang="en"> <body style="margin: 0 0 0 0;"> <div id="1" style="background-color:#727171;width:50px;height:20px;float:left" ></div> <div id="2" style="float:left;border-width:10px;border-color:#727171 #9fa0a0 #9fa0a0 #727171;border-style:solid"></div> <div id="3" style="background-color:#9fa0a0;width:50px;height:20px;float:left" ></div> </body> </html>