相似的还有 border 和 border-width、border-style、border-color 等等。
能,一种是使用css样式:先画一条横线或竖线,然后将这条线旋转一定角度得到斜线。代码如下:<style>
#book{width:300pxheight:20pxborder-bottom:1px solid #000000-webkit-transform: rotate(45deg)/*Safari 4+,Google Chrome 1+ */-moz-transform: rotate(45deg)/*Firefox 3.5+*/filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=0.45)}</style><div id="book"></div>
另外一种需要使用canvas标签,通过js实现:先画一块画板,再通过两点定位直接在画板上画线。代码如下:
<canvas id="myline" style="width:500pxheight:500px">
</canvas>
<script>
var c=document.getElementById("myline")
var ctx=c.getContext("2d")
ctx.beginPath()
ctx.moveTo(0,0)
ctx.lineTo(300,150)
ctx.stroke()
</script>
在生活中比较常见的是直线进度条,但是圆形进度条的实现相对有意思,我个人总结了两种圆形进度条的实现方式。
首先我们得了解什么是svg,它是使用 XML 来描述二维图形和绘图程序的语言。可以直接在html中使用svg标签实现。实现圆形进度条前先讲下svg里面stroke属性。
实现圆形进度条主要用到 stroke-dasharray 和 stroke-dashoffset 。
stroke-dasharray="2*50*3.14" ,代表虚线长314,空白间隔长314
stroke-dashoffset="2*50*3.14" ,代表虚线偏移是314,这样展示出来的部分就是空白间隔。
将圆的周长展开来表示就是这样:
用css实现主要通过用两个div分别画半圆,并结合 overflow:hidden 实现。
这是从100->0,如果是从0->100的话,只需要修改动画旋转角度即可。
以上就是我总结的两种画原型进度条的方法,挺有意思的吧?