第二十四章  CSS3变形效果【下】

一、3D变形简介

【上】讲的是2D,本章讲的是3D(在二维基础上多出一个z轴)。

属性值                              说明

translate(x,y,z)      3D方式平移元素,设置x,y和z轴

translateZ(z)           设置3D方式平移元素的z轴

scale3d(x,y,z)          3D方式缩放一个元素

scaleZ(z)               设置3D方式缩放元素的z轴

rotate3d(x,y,z,a)       3d方式旋转元素

rotateX(a)

rotateY(a)              分别设置3D方式的旋转元素的x,y,z轴

rotateZ(a)

perspective(长度值)     设置一个透视投影矩阵

matrix3d(多个值)        定义一个矩阵

3D变形比2D变形出来的要晚一些,如果需要兼容旧版本浏览器,可以对照这个表

Opera     Firefox     Chrome      Safari       IE

支持需带前缀    15~22     10~15      12~35       4~8        无

支持不带前缀      23+        16+         26+         无       10.0+

//兼容版本完整形式

-webkit-transform:translateZ(200px);

·

·

·

二、transform-style:属性是指定嵌套元素如何在3D空间中呈现。

(1)flat       :默认值,表示所有子元素在2D平面呈现

(2)preserve-3d:表示子元素在3D空间呈现。

//一般设置当前元素的父元素

transform-style:preserve-3d;  (需要配合后面的属性才能看到,同样,这个属性也需要加上前缀)

三、perspective:是3D变形的重要属性,该属性会设置查看者位置,并将可视内容映射到一个视锥上,继而投放到一个2D平面上。

属性值                              说明

none             默认值,表示无线的角度来看3D物体,但看上去是平的

长度值           接受一个长度单位大于0的值,其单位不能为百分比,值越大,角度出现的越远。(好比你离远看物体,值越小,正相反)

四、3D变形属性

1、translate3d(x,y,z)    //需要3D位移的html结构,必须有父元素包含

<div id="a">

<img src="img.png" alt=""/>

</div>

//css部分,父元素设置3D呈现且设置透视距离

#a{

perspective:1000px;

transform-style:preserve-3d;

}

img{

//z轴可以是负值

transform:translateZ(240px);

}

2、transformZ(z)    //z轴可以单独设置,z轴可以是负值

img{;

transform:translateZ(240px)

}

3、scale3d(x,y,z)    //3D缩放,单独设置无效,需要配合角度

img{

transform:scale3d(1,1,1.5) rotateX(45deg);

}

4、scaleZ(z)   //单独设置z轴,x和y轴默认为1.

img{

transform:scaleZ(1.5) rotateX(45deg);

}

5、rotate3d(x,y,z,a)  //设置3D旋转,a表示角度,xyz是0或1(0表示未启用,1表示启用)

transform:scale3d(1,1,1,45deg);   //xyz轴都启用

transform:scale3d(1,0,0,45deg);   //x轴启用,且x轴旋转45度

6、rotateX(a)、rotateY(a)、rotateZ(a)      //单独设置3D旋转

transform:rotateX(45deg);

·

·

transform:rotateX(45deg) rotateY(45deg) rotateZ(45deg)

CSS3还提供了perspective-origin属性来设置3D变形中的原点角度,该属性的默认值为50% 50%也就是center center。

属性值                     说明

百分数值           指定元素x轴成y轴的起点

长度值             指定距离

left

center             指定x轴的位置

right

top

center             指定y轴的位置

bottom

//源点设置右上方变形

perspective-origin:topright;

CSS3还提供了一个元素中设置透视的值perspective(长度值),但他还是和父元素这只有一定不同,因为父元素整个作为透视,而元素自己作为透视,导致不同

//具体测试看透视距离

img{

transform:perspective(1000px) rotateY(45px);

}

转载于:https://www.cnblogs.com/keshuai752100461/p/8485223.html

31.CSS3变形效果【下】相关推荐

  1. 31 | GPU(下):为什么深度学习需要使用 GPU?

    31 | GPU(下):为什么深度学习需要使用 GPU? 上一讲,我带你一起看了三维图形在计算机里的渲染过程.这个渲染过程,分成了顶点处理.图元处理. 栅格化.片段处理,以及最后的像素操作.这一连串的 ...

  2. 使用 CSS3 创建下拉菜单

    当我在为 WordPress 编写 Notepad 主题 时,顺道学习了一些新的 CSS3 特性,现在此分享.查看演示可以看到一款类似 Mac 风格的多级下拉菜单,使用 border-radius,b ...

  3. css3实现下划线动画效果

    <!DOCTYPE> <html> <head>     <meta charset="utf-8"/>     <title ...

  4. 31 WebGL平行光下的漫反射光的计算

    案例查看地址:点击这里 通过上一节的介绍,我们可以知道,平行光下的漫反射光的颜色可以由一下式子得出: <漫反射光颜色>=<入射光颜色>x<表面基底色>x cos θ ...

  5. css实现下划线波折线,CSS3 波浪形下划线

    纯css很棒的波浪形下划线 An error, a warning and an info baked by techbrood. CSS样式:html, body { height: 100%; } ...

  6. JavaScript 进阶 31 -- 简单来说下vue.js 数据监测observe的实现的原理

    这篇文章是接上一篇继续来总结一下关于数据监测 observer 实现响应式的原理. 响应式的原理: 只要要数据发生改变,页面视图就发生变化 简单来说 就是一个方法,里面使用for in循环,分别为对象 ...

  7. css3学习下...

    a[href^="http:"]{}//所有以http开头的href元素 a[href$="pdf"]{}//所有以pdf结尾的href元素 a[href*=& ...

  8. 李炎恢老师HTML5+CSS3教程与课件代码 下载

    课程目录:     01.[HTML5第一季] 第1章 HTML5概述.zip     02.[HTML5第一季] 第2章 基本格式.zip     03.[HTML5第一季] 第3章 文本元素.zi ...

  9. html鼠标滑过带音效,html5 + css3 带音效下拉菜单的实现

    原文:scripts tutorials    (来自脚本教程网的教程,翻译可能有些不对...想要试试 音效下拉菜单 在这个教程中我们将讲述如何开发酷炫的音效下拉菜单(html5 + css3).下拉 ...

最新文章

  1. cs4 php,php dreamweaver cs4
  2. python(numpy,pandas12)——pandas plot 画图
  3. 【数据库系统概论】考研第一部分重点分析【1.2】
  4. mpvue v-html解决方案,mpvue开发小程序所遇问题及h5转化方案
  5. 数据结构例程——哈希表及其运算的实现
  6. MacBook Pro 2017版A1708 更换ssd
  7. matlab papr,PAPR问题的MATLAB程序
  8. 线性链表头插法,插入,删除操作(完整代码)
  9. 用户故事 | 工商银行核心应用 MySQL 治理实践
  10. setuptools-scm was unable to detect version for‘…/…/某git包‘
  11. JS--购物车二级联动
  12. 【AICG】动漫女主AI绘图的学习笔记
  13. 苹果开放降级通道_苹果出手,关闭降级系统iOS13验证,iOS14再也回不去了!
  14. 【taro +vue】初体验
  15. 因计算机丢失d3dx9-30,Win10玩仙剑5提示d3dx9_30.dll文件丢失的解决方法
  16. springboot毕设项目交通违章管理系统58ig4(java+VUE+Mybatis+Maven+Mysql)
  17. 难忘的童年~~~~~~真的好怀念!
  18. leetcode-167-两数之和 II
  19. 原始数据都一样,为啥Pyecharts做出来的图一个是彩色的,另一个是黑白的?
  20. CH340G 无法识别的USB设备

热门文章

  1. 洛谷P1082 同余方程 数论
  2. 给iOS 模拟器“安装”app文件
  3. 关于Android Fragment基础点(转)
  4. 《.NET框架程序设计》第2章 第3章 读后感
  5. 139邮箱的邮件附件功能
  6. 技术虚拟化人才实在化--3月19日西安建筑科技大学讲座
  7. PHP实现多服务器session共享之NFS共享
  8. 网站CSS样式不起作用,或只有一部分起作用?随手记
  9. 3.4 实用的path变量
  10. zxing二维码生成工具类