我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CSS3特性实例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CSS3特性实例分析

本文小编为大家详细介绍“CSS3特性实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS3特性实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

我们来看下对比效果:

CSS3特性实例分析

可以看到,我对两个红色的div在hover的时候分别设置了

平移100px和同时缩放到原来的1/4,两个div的设置顺序不一要,直接导致了最终的结果的巨大差异。

下面来划重点:transform执行顺序!!!

transform 后面如果有多个属性值的话,那么后设置的属性要先执行

也就是说第一个红色的div先缩小到原来的1/4,然后再平移100px,得到最终的效果。

第二次黄色的div是先平移了100px然后再缩放到原来的1/4,注意:这平移过后再缩放会将平移的值也跟着缩放,所以黄色的小方块的最终平移要比小红块小。

平移和旋转

看效果:

CSS3特性实例分析

我对两个方块分别设置了:

这是怎么回事?效果怎么反过来了?

我们知道,dom元素的旋转它是有一个旋转基点的(围绕哪个点旋转)默认的都是在dom元素的正中间

按照上面的分析,后写的先执行,我们来分析下

第一个小红块。先围绕自身的中心点旋转180度,然后向右平移100px,这个比较容易接受。

再来看小黄块。它是先向右平移了100px,然后旋转了180度。但是却向左平移了。好像与我们的预期不一样。

接下来我来解释一下原因:

这是因为transform的平移不会影响原来的旋转基点的位置?什么意思呢?当我先向右平移了100px后,我的旋转基点还在原来的位置,也就是在我们的黄色方块的左侧。然后我们再去做旋转的时候,是以之前左侧的点进行旋转的。所以旋转180度之后就绕到了旋转基点的左侧去了。

我拿gif来模拟一下这个过程吧。

CSS3特性实例分析

一图胜千言

综上所述,我们可以得到两个结论:

第二点很重要,后面我们在制作复杂的3D的时候会用到这两个特性。

补充一句:如果想对旋转基点进行改变的话可以通过transform-origin:x ,y来设置 。具体细节我就不过多展开了。

下一知识点:

要想dom在三维空间中变换,那么景深肯定是逃不过的话题。前面我在我的《前端图形学》的系列文章中有说到景深和相机的概念,那么应用到CSS3中依然实用。

我们可以把景深看作是我们的眼睛或者threejs中的透视相机,其特点就是近大远小。

比如我设置 perspective:300px;那么表示的是,我离屏幕300px的位置去观察dom元素。假如设置成500px,那么肯定要比300px的物体要显示的小。

举个栗子:

CSS3特性实例分析

我们在父容器hover的时候,让里面的小盒子绕X轴翻转360deg,并且在父容器中设置了景深的样式为:800px

当我们再沿X轴旋转的时候,立体的感觉就出来了,这个应该比较简单了,这也是后面我们做复杂3D的基础。

读到这里,这篇“CSS3特性实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CSS3特性实例分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CSS3动画和HTML5新特性的示例分析

本文将为大家详细介绍“CSS3动画和HTML5新特性的示例分析”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS3动画和HTML5新特性的示例分析”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体
2023-06-08

Python 3.9.0新特性实例分析

这篇文章主要介绍“Python 3.9.0新特性实例分析”,在日常操作中,相信很多人在Python 3.9.0新特性实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python 3.9.0新特性实例分析
2023-06-27

Java新特性使用实例分析

这篇文章主要介绍“Java新特性使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java新特性使用实例分析”文章能帮助大家解决问题。枚举:尽管在 JDK 5 中增加了枚举类型,但是 Cla
2023-06-27

ADO.NET特性举例分析

本篇内容介绍了“ADO.NET特性举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Mysql安装好以后,点属性,然后点查找目标,点向上
2023-06-17

PHP类型声明特性实例分析

这篇文章主要介绍“PHP类型声明特性实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP类型声明特性实例分析”文章能帮助大家解决问题。最近在研究PHP7的新特性,发现PHP也开始搞类型声明了
2023-06-30

Ubuntu 9.10与Windows 7特性实例分析

本篇内容介绍了“Ubuntu 9.10与Windows 7特性实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!以下主要讲对于Ubunt
2023-06-16

编程热搜

目录