通过CSS3转换,能够对元素进行移动、缩放、转动、拉长或拉伸。它如何工作?转换是使元素改变形状、尺寸和位置的一种效果。CSS3转换包括2D转换和3D转换,本小结我们来了解2D变换的转换方法。

转换属性包含transform和transform-origin,它们的介绍如表1:

表1  转换属性

其中,transform有五种方法,它们的方法介绍如表2:

表2  transform方法

1  translate()方法

通过translate() 位移函数,元素从其当前位置移动,根据给定的left(x坐标) 和top(y坐标) 位置参数。translate()方法可以拆分为translateX()和translateY()方法,分别对元素的left和top位置设置参数。下面通过一个实例来解释这个方法,我们为img元素的left设置为0,top设置为0,当鼠标移入浏览器后,让它相对与当前位置向下移动50px,向右移动100px,再给它设定一个过渡效果,以便读者可以更好的体会到translate()方法实现的效果,代码如下:

该代码的解释为,img图像的left为100px,在浏览器里的执行初始效果如图1所示:

图1  translate()方法

当鼠标移入到浏览器后,我们可以发现图片的位置发生了改变,相对于之前的位置向下移动了50px,向右移动了100px,在浏览器里的执行效果如图2所示:

图2  translate()方法

2  rotate() 方法

通过rotate() 方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。默认旋转基点为元素中心。

同样,我们通过一个小案例来解释这个方法。一个html文档里包含一个img元素,当鼠标移入该文档时,让图片旋转180deg。代码如下:

该代码的解释为,img图像初始状态没有旋转过,当鼠标移入body时,图片经过2s顺时针旋转180deg,默认的旋转基点为图片中心。在浏览器里的执行初始效果如图3:

图3  rotate旋转

当鼠标移入到浏览器后,我们可以发现图片变成了倒立的,也就是旋转了180deg,在浏览器里的执行效果如图4:

图4  rotate旋转

另外,我们还可以为该图片设置旋转基点,transform-origin属性允许我们改变被转换元素的位置,2D转换元素能够改变元素x轴和y轴。该属性的语法为:

transform-origin: x-axis y-axis z-axis;

该属性默认值为“50% 50% 0”。针对2D转换,我们可以先忽略z-axis,它是针对3D转换需要设定的值,我们会在下一小节提到。该属性的取值及描述如表3:

表3 转换属性

通过使用transform-origin来设置转换元素的位置为左上角。将上述案例的CSS代码替换如下:

当鼠标移入到body后,我们可以发现图片绕着左边界的中心点旋转了180deg,在浏览器里的执行效果如图5所示:

图5 设置转换元素的位置

IT兄弟连 HTML5教程 CSS3属性特效 2D变换1的更多相关文章

  1. IT兄弟连 HTML5教程 CSS3属性特效 2D变换2

    3  scale() 方法 通过scale() 方法,元素的尺寸会增加或减少,根据给定的宽度(X轴)和高度(Y轴)参数.缩放scale()函数让元素根据中心原点对对象进行缩放.默认值是1,因此0.01 ...

  2. IT兄弟连 HTML5教程 CSS3属性特效 3D变换1

    3D变换较2D变换多了一下的转换属性,3D转换属性及描述如表1: 表1  3D转换属性 3D的转换方法如表2: 表2  3D转换方法     1  transform-style transform- ...

  3. IT兄弟连 HTML5教程 CSS3属性特效 3D变换3

    5  3D旋转 在三维变形中,我们可以让元素在任何轴旋转.为此,CSS3新增了三个旋转函数:rotateX().rotateY()和rotateZ().使用rotateX()函数允许一个元素围绕X轴旋 ...

  4. IT兄弟连 HTML5教程 CSS3属性特效 3D变换2

    3  perspective-origin景深基点 perspective-origin景深基点属性时3D变形中另一个重要属性,主要用来决定perspective属性的源点角度.它实际上设置了X轴和Y ...

  5. IT兄弟连 HTML5教程 CSS3属性特效 小结及习题

    本章小结 CSS3新增了许多属性,CSS3样式新增了一种颜色模式rgba用来制作透明色,比CSS的颜色模式多了一个透明度的设置.文字的CSS3特效有文字阴影.文字描边.文字排版和文字省略等.另外,CS ...

  6. IT兄弟连 HTML5教程 CSS3属性特效 文字描边

    用CSS3实现的文字描边效果,一个CSS3文字特效实例,字体可以自己随意改,字体颜色也可以自己改.IE9以下浏览器无效果,所以提醒大家测试时候要使用Google Chrome.-webkit-text ...

  7. IT兄弟连 HTML5教程 CSS3属性特效 动画-animation

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation.前面已经介绍过Transform和Transition了,这里我们来学习Animation动画.通 ...

  8. IT兄弟连 HTML5教程 CSS3属性特效 transition过渡

    CSS3的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. transitio ...

  9. IT兄弟连 HTML5教程 CSS3属性特效 遮罩

    CSS遮罩提供一种基于像素级别的,可以控制元素透明度的能力,类似于png24位或png32位中的alpha透明通道的效果.遮罩有三个属性可以设置,分别是mask-image.mask-position ...

随机推荐

  1. 如何解决jpa 要求column 名称单词必须用下划线

    [转]:http://www.jeesns.cn/article/detail/6657 先引出轮子http://blog.csdn.net/54powerman/article/details/76 ...

  2. 10个常见的HTTP状态码

    目录 500 内部服务器错误 404 文件未找到 403 禁止访问 400 错误请求 401 未经授权 200 请求成功 206 部分内容 301 永久重定向 302 临时重定向 502 无效网关 H ...

  3. 解决Connection to Xxx@localhost failed.

    解决: Connection to jianshu@localhost failed. [08001] Could not create connection to database server. ...

  4. 基于PyTorch实现MNIST手写字识别

    本篇不涉及模型原理,只是分享下代码.想要了解模型原理的可以去看网上很多大牛的博客. 目前代码实现了CNN和LSTM两个网络,整个代码分为四部分: Config:项目中涉及的参数: CNN:卷积神经网络 ...

  5. 数据挖掘算法(三)--logistic回归

    数据挖掘算法学习笔记汇总 数据挖掘算法(一)–K近邻算法 (KNN) 数据挖掘算法(二)–决策树 数据挖掘算法(三)–logistic回归 在介绍logistic回归之前先复习几个基础知识点,有助于后 ...

  6. Spring Boot 结合Spring Data结合小项目(增,删,查,模糊查询,分页,排序)

    本次做的小项目是类似于,公司发布招聘信息,因此有俩个表,一个公司表,一个招聘信息表,俩个表是一对多的关系 项目整体结构: Spring Boot和Spring Data结合的资源文件 applicat ...

  7. 小程序使用wxs解决wxml保留2位小数问题

    1.出现溢出表现 从图中可以看到数字超出了很长长度.代码里面是如下这样的.为什么在0.35出现?或者一些相成的计算出现? 而 0.34却不会.(wap.0834jl.com) 0.41 也会出现,好像 ...

  8. ARTS-S EN0001-In tech race with China, US universities may lose a vital edge

    原文 The U.S. is still out in front of global rivals when it comes to innovation, but American univers ...

  9. 重排数列-Java实现(2018网易校招研发岗)

    题目: 链接:https://www.nowcoder.com/questionTerminal/6c184566ecff4d3baff3536449d4a3e2 来源:牛客网 小易有一个长度为N的正 ...

  10. 【TS】358- 浅析 TypeScript 设计模式

    点击上方"前端自习课"关注,学习起来~ 作者:DD菜 https://zhuanlan.zhihu.com/p/43283016 设计模式就是软件开发过程中形成的套路,就如同你在玩 ...