近来HTML5+CSS3,以及相关的游戏开发都很火啊,本人也得跟上时代的脚步,做了一个CSS3的小Demo供大家指点。
1. transform 与 transform-origin 使用说明
目前这两个属性得到了主流浏览器IE,webkit,firefox,opera的支持,属性名分别为-ms-transform -webkit-transform,-moz-transform,-o-transform。可能有人会疑问为什么要加各浏览器的前缀(-ms-),本人认为可能在浏览器新版本发布时,此CSS属性还没有正式被W3组织当标准发布吧,所以加前缀加以区分,以后所有浏览器肯定会统一使用transform 和trandform-origin的。
最新CSS标准参考网站:。
IE9开发人员指导网站:。
webkit开发资料:,。
firefox开发资料:。
opera开发资料:。
transform-origin是变形原点,也就是该元素围绕着那个点变形或旋转,该属性只有在设置了transform属性的时候起作用,它接受两个参数,它们可以是百分比,em,px等具体的值,也可以是left,center,right,或者 top,center,bottom等描述性参数 ;它的默认值是50% 50%。
top left | left top 等价于 0 0;
top | top center | center top 等价于 50% 0right top | top right 等价于 100% 0left | left center | center left 等价于 0 50%center | center center 等价于 50% 50%(默认值)right | right center | center right 等价于 100% 50%bottom left | left bottom 等价于 0 100%bottom | bottom center | center bottom 等价于 50% 100%bottom right | right bottom 等价于 100% 100%transform属性实现了一些可用实现的同样的功能。它可用于内联(inline)元素和块级(block)元素。它允许我们旋转、缩放和移动元素 ,他有几个属性值参数:
rotate(旋转)允许你通过传递一个度数值来转动一个对象;
scale是一个缩放功能,可以让任一元素变的更大。它使用一个或者两个正数和负数以及小数作为参数;当使用一个参数时表示X轴和Y轴的缩放相同;translate就是基于X和Y 坐标重新定位元素,当使用一个参数时表示X轴和Y轴的参数相同;skew倾斜(ps中的斜切),参数是度数,当使用一个参数时表示X轴和Y轴的参数相同;matrix矩阵变换,就是基于X和Y 坐标重新定位元素,它使用6个参数;2.动态时钟页面的HTML + CSS
HTML 代码:
代码中各个DIV的含义就不解释了,相信大家都看得懂。HTML还是挺简单的,起作用的还得看CSS。
相关CSS代码:
这里说明下几个关键的CSS属性:#clock 里面的块元素的position:absolute;然后再用top; bottom; margin; left; right; 才能准确定位,各个指钟的旋转原点为底部的中点:transform-origin:50% 100%;
3.页面的Javascript的实现
最为关键的是JS代码了:
最终效果演示:http://1.kuangwenwang.sinaapp.com//CSS3clock.html