CSS3中的transform属性进行2D和3D变换的基本用法


Posted in HTML / CSS onMay 12, 2016

transform 2D
之前有看到google将搜寻的页面倾斜,这个功能透过CSS3的transform就可以达成
CSS3 2D transform特性可以旋转、倾斜、放大缩小和移动元素,对网页的视觉观感上提供很大的帮助
使用方法:

CSS Code复制内容到剪贴板
  1. transform: transform-function;   
  2. -webkit-transform: transform-function; /* Safari and Chrome */  
  3. -moz-transform: transform-function; /* Firefox */  
  4. -o-transform: transform-function; /* Opera */  
  5. -ms-transform:transform-function; /* IE9以上 */  

变形函式 transform-function:
函式里的θ参数要有单位,有三种单位可以使用:deg (角度) 、 rad (弧度) 、 grad (梯度)。
1.rotate(θ):以参考点为中心轴 2D 旋转 θ 度。
2.skew(θx,θy):以参考点为中心轴沿着横向倾斜 θx 度、纵向倾斜 θy 度( 可以拆开成skewX(θ)和skewY(θ) )
3.scale(x,y):指定元素由参考点 2D 横向缩放 x 倍、纵向缩放 y 倍( 可以拆开成scaleX(x)和scaleY(y),此函式的参数不需要单位 )
4.translate(x,y):指定元素由参考点 2D 横向移动 x 距离、纵向移动 y 距离( 可以拆开成translateX(x)和translateY(y),此函式的参数单位为px )
5.matrix(a,b,c,d,e,f):指定元素由参考点依据数学变形矩阵 (transformation matrix) 的 6 个参数值产生 2D 变形( 此函式的参数为数字,不需要单位 )
Sample

JavaScript Code复制内容到剪贴板
  1. /* Safari and Chrome 网页倾斜50度 */  
  2. -webkit-transform: rotate(50deg);  

 
transform 3D & perspective
CSS3的transform可以做2D的操作,当然也有3D
但需要再一个拥有perspective属性的父元素才能显现3D的效果
例如:

XML/HTML Code复制内容到剪贴板
  1. <div id="div1"><!-- perspective -->  
  2.   <div id="div2">3D</div><!-- transform -->  
  3. </div>  

perspective属性固名思义就是透视的意思;该属性可以定义3D视觉的角度,让底下子元素使用3D特效时能够完整显示。
perspective使用方法
perspective:150px;

XML/HTML Code复制内容到剪贴板
  1. /* 目前并非所有浏览器皆支援 */   
  2. -webkit-perspective:150px;   
  3. -moz-perspective:150px;  

另外还有个属性叫perspective-origin
功能是用来定义X和Y轴为基础的3D位置(定义初始位置)
perspective-origin使用方法:
属性值:(x轴:left、center、right、长度、百分比) (y轴:top、center、bottom、长度、百分比)

CSS Code复制内容到剪贴板
  1. /* perspective-origin 参数预设是50% 50% */  
  2. -webkit-perspective-origin: 40% 60%;/* Safari and Chrome */  
  3. -webkit-perspective-origin: 40px 60px;/* Safari and Chrome */  
  4. -moz-perspective-origin:left bottombottom/* Firefox */  

注意:perspective和perspective-origin受影响的是子元素,而非元素本身
最后就可以对div做3D的效果(rotateX和rotateY)

CSS Code复制内容到剪贴板
  1. -webkit-transform: rotateX(290deg);   
  2. -webkit-transform: rotateY(290deg);   
  3. -moz-transform: rotateX(290deg);   
  4. -moz-transform: rotateY(290deg);  

 
 
 
 
 

HTML / CSS 相关文章推荐
css3 给背景设置渐变色的方法
Sep 12 HTML / CSS
css3教程之倾斜页面
Jan 27 HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
Nov 15 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
Mar 14 HTML / CSS
HTML5等待加载动画效果
Jul 27 HTML / CSS
html5/css3响应式页面开发总结
Oct 16 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
Mar 17 HTML / CSS
Html5 Geolocation获取地理位置信息实例
Dec 09 HTML / CSS
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
Mar 15 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 HTML / CSS
Html5页面内使用JSON动画的实现
Jan 29 HTML / CSS
Html5移动端div固定到底部实现底部导航条的几种方式
Mar 09 HTML / CSS
CSS3制作气泡对话框的实例教程
May 10 #HTML / CSS
详解CSS3的box-shadow属性制作边框阴影效果的方法
May 10 #HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
May 09 #HTML / CSS
详解CSS3的opacity属性设置透明效果的用法
May 09 #HTML / CSS
CSS3中使用RGBa来调节透明度的教程
May 09 #HTML / CSS
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
May 09 #HTML / CSS
CSS超出文本指定宽度用省略号代替和文本不换行
May 05 #HTML / CSS
You might like
PHP数据库开发知多少
2006/10/09 PHP
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
php实现搜索类封装示例
2016/03/31 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
python进阶教程之异常处理
2014/08/30 Python
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python中datetime模块参考手册
2017/01/13 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
python super()函数的基本使用
2020/09/10 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
PHP如何自定义函数
2016/09/16 面试题
What is view? why do we have view?
2012/06/22 面试题
cf收人广告词大全
2014/03/14 职场文书
怎样写离婚协议书
2014/09/10 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
Python实现拼音转换
2021/06/07 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript