css3中text-stroke和text-stroke-width及text-stroke-co

html-css049

css3中text-stroke和text-stroke-width及text-stroke-co,第1张

text-stroke 是 text-stroke-width 和 text-stroke-color 的集合缩写形式,也就是说用前者可以同时设置后面的两个属性。

相似的还有 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的话,只需要修改动画旋转角度即可。

以上就是我总结的两种画原型进度条的方法,挺有意思的吧?