CSS3 transform属性详解 CSS3 transform属性使用教程

语法:

transform:none | matrix(<number>,<number>,<number>,<number>,<number>,<number>)? translate(<length>[,<length>])? translateX(<length>)? translateY(<length>)? rotate(<angle>)? scale(<number>[,<number>])? scaleX(<number>)? scaleY(<number>)? skew(<angle>[,<angle>])? skewX(<angle>) || skewY(<angle>)?

默认值:none

 

取值:

none:无转换

matrix(<number>,<number>,<number>,<number>,<number>,<number>):以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a,b,c,d,e,f]变换矩阵

translate(<length>[, <length>]):指定对象的2D translation(2D平移)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0

translateX(<length>):指定对象X轴(水平方向)的平移

translateY(<length>):指定对象Y轴(垂直方向)的平移

rotate(<angle>):指定对象的2D rotation(2D旋转),需先有transform-origin属性的定义

scale(<number>[, <number>]):指定对象的2D scale(2D缩放)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认取第一个参数的值

scaleX(<number>):指定对象X轴的(水平方向)缩放

scaleY(<number>):指定对象Y轴的(垂直方向)缩放

skew(<angle> [, <angle>]):指定对象skew transformation(斜切扭曲)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0

skewX(<angle>):指定对象X轴的(水平方向)扭曲

skewY(<angle>):指定对象Y轴的(垂直方向)扭曲

说明:

设置或检索对象的转换。

  • 对应的脚本特性为transform。

兼容性:

写法:

内核类型 写法
Webkit(Chrome/Safari) -webkit-transform
Gecko(Firefox) -moz-transform
Presto(Opera) -o-transform
Trident(IE) -ms-transform
W3C transform

示例:


<!DOCTYPE html>

<html lang="zh-cn">

<head>

<meta charset="utf-8" />

<title>CSS 2D transform_CSS参考手册_web前端开发参考手册系列</title>

<style>

h1{clear:both;padding-top:10px;font-size:16px;font-family:Arial;}

.test{zoom:1;width:700px;margin:0;padding:0;list-style:none;}

.test li{float:left;margin:20px 30px 0 0;border:1px solid #000;}

.test li p{width:300px;height:100px;margin:0;background:#ddd;}

.test .matrix{-moz-transform:matrix(0,1,1,1,10px,10px);-webkit-transform:matrix(0,1,1,1,10,10);-o-transform:matrix(0,1,1,1,10,10);-ms-transform:matrix(0,1,1,1,10,10);transform:matrix(0,1,1,1,10,10);}

.test .translate p{-moz-transform:translate(5%,10px);-webkit-transform:translate(10px,10px);-o-transform:translate(10px,10px);-ms-transform:translate(10px,10px);transform:translate(10px,10px);}

.test .translate2 p{-moz-transform:translate(-10px,-10px);-webkit-transform:translate(-10px,-10px);-o-transform:translate(-10px,-10px);-ms-transform:translate(-10px,-10px);transform:translate(-10px,-10px);}

.test .translateX p{-moz-transform:translateX(20px);-webkit-transform:translateX(20px);-o-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px);}

.test .translate3 p{-moz-transform:translate(20px);-webkit-transform:translate(20px);-o-transform:translate(20px);-ms-transform:translate(20px);transform:translate(20px);}

.test .translateY p{-moz-transform:translateY(10px);-webkit-transform:translateY(10px);-o-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px);}

.test .translate4 p{-moz-transform:translate(0,10px);-webkit-transform:translate(0,10px);-o-transform:translate(0,10px);-ms-transform:translate(0,10px);transform:translate(0,10px);}

.test .rotate{-moz-transform:rotate(-5deg);-webkit-transform:rotate(-5deg);-o-transform:rotate(-5deg);-ms-transform:rotate(-5deg);transform:rotate(-5deg);}

.test .rotate2{-moz-transform:rotate(5deg);-webkit-transform:rotate(5deg);-o-transform:rotate(5deg);-ms-transform:rotate(5deg);transform:rotate(5deg);}

.test .scale{-moz-transform:scale(.8);-webkit-transform:scale(.8);-o-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8);}

.test .scale2{-moz-transform:scale(1.2);-webkit-transform:scale(1.2);-o-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);}

.test .skew{-moz-transform:skew(-5deg);-webkit-transform:skew(-5deg);-o-transform:skew(-5deg);-ms-transform:skew(-5deg);transform:skew(-5deg);}

.test .skew2{-moz-transform:skew(-5deg,-5deg);-webkit-transform:skew(-5deg,-5deg);-o-transform:skew(-5deg,-5deg);-ms-transform:skew(-5deg,-5deg);transform:skew(-5deg,-5deg);}

</style>

</head>

<body>

<h1>矩阵变换:matrix()</h1>

<ul class="test">

<li class="matrix">

<p>transform:matrix(0,1,1,1,10,10)</p>

</li>

</ul>

<h1>平移:translate(), translateX(), translateY()</h1>

<ul class="test">

<li class="translate">

<p>transform:translate(5%,10px)</p>

</li>

<li class="translate2">

<p>transform:translate(-10px,-10px)</p>

</li>

<li class="translateX">

<p>transform:translateX(20px)</p>

</li>

<li class="translate3">

<p>transform:translate(20px)</p>

</li>

<li class="translateY">

<p>transform:translateY(10px)</p>

</li>

<li class="translate4">

<p>transform:translate(0,10px)</p>

</li>

</ul>

<h1>旋转:rotate()</h1>

<ul class="test">

<li class="rotate">

<p>transform:rotate(-15deg)</p>

</li>

<li class="rotate2">

<p>transform:rotate(15deg)</p>

</li>

</ul>

<h1>缩放:scale()</h1>

<ul class="test">

<li class="scale">

<p>transform:scale(.8)</p>

</li>

<li class="scale2">

<p>transform:scale(1.2)</p>

</li>

</ul>

<h1>扭曲:skew()</h1>

<ul class="test">

<li class="skew">

<p>transform:skew(-5deg)</p>

</li>

<li class="skew2">

<p>transform:skew(-5deg,-5deg)</p>

</li>

</ul>

</body>

</html>

时间: 2024-09-15 07:53:21

CSS3 transform属性详解 CSS3 transform属性使用教程的相关文章

BGP属性详解:Origin属性/MED属性

在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡. 实际上就2个原则成就了ospf---最短路径优先的工作原理. 那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢? 来看看这11个属性的优先级,加深记忆,最好能熟练的背下来: 1 HIGHEST WEIGHT--cisco私有属性 2 HIGHEST LOCAL PRERENCE -----

详解Android自定义控件属性_Android

在Android开发中,往往要用到自定义的控件来实现我们的需求或效果.在使用自定义 控件时,难免要用到自定义属性,那怎么使用自定义属性呢? 在文件res/values/下新建attrs.xml属性文件,中定义我们所需要的属性. <?xml version="1.0" encoding="utf-8"?> <resources><!-- resource是跟标签,可以在里面定义若干个declare-styleable --> <

ss教程:CSS3 Media Queries 详解

说起CSS3的新特征,就不得不提到MediaQueries. 本文比力细致,所以良多隐真顶用不到.所以若是只是想简略领会MediaQueries,保举参考CSS3MediaQueries. CSS2.1界说了Media的部门,包罗类型.组别战法则等.CSS并非为了显示器而创造,而是使用于各类各样的,好比常见的显示器,越来愈多的手持设施,可能略显过期的电视机等等. css教程:CSS3 Media Queries 详解,css3教程,css3教程而MediaQueries的引入,其作用就是答应增添

marquee标签属性详解

html教程,marquee标签属性详解. 请大家先看下面这段代码 <marquee direction=up behavior=scroll loop=3 scrollamount=1 scrolldelay=10 align=top bgcolor=#ffffff height=300 width=30% hspace=20 vspace=10 onmouseover=this.stop() onmouseout=this.start()> 此处输入滚动内容 </marquee>

BGP属性详解:AS-path--属性

在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡. 实际上就2个原则成就了ospf---最短路径优先的工作原理. 那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢? 来看看这11个属性的优先级,加深记忆,最好能熟练的背下来: 1 HIGHEST WEIGHT--cisco私有属性 2 HIGHEST LOCAL PRERENCE -----

BGP属性详解:Next-hop

在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡. 实际上就2个原则成就了ospf---最短路径优先的工作原理. 那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢? 来看看这11个属性的优先级,加深记忆,最好能熟练的背下来: 1 HIGHEST WEIGHT--cisco私有属性 2 HIGHEST LOCAL PRERENCE -----

BGP属性详解:Local_Pref

在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡. 实际上就2个原则成就了ospf---最短路径优先的工作原理. 那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢? 来看看这11个属性的优先级,加深记忆,最好能熟练的背下来: 1 HIGHEST WEIGHT--cisco私有属性 2 HIGHEST LOCAL PRERENCE -----

BGP选路原则和属性详解:weight

在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡. 实际上就2个原则成就了ospf---最短路径优先的工作原理. 那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢? 来看看这11个属性的优先级,加深记忆,最好能熟练的背下来: 1 HIGHEST WEIGHT--cisco私有属性 2 HIGHEST LOCAL PRERENCE -----

鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解

 这篇文章主要介绍了鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解,需要的朋友可以参考下     screenY 鼠标相对于显示器屏幕左上角的偏移 pageY 鼠标相对于页面左上角的偏移 (其值不会受滚动条的影响) IE9之下并不支持这个属性 但是可以写点代码计算出来. jQuery中的实现:   代码如下: // Calculate pageX/Y if missing and clientX/Y available if ( event.pageX