【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

时间:2022-10-09 22:43:50

前言:之前我有写过CSS3的transform这一这特性,对于它的用法,还不是很透彻,今天补充补充,呵呵 你懂的,小司机准备开车了。

a)再提一提transform的四个属性

  ①旋转--->rotate(参数a),单位deg,表示旋转角度,正数顺时针,负数逆时针。

  ②缩放--->scale(参数a),单位1,也就是“没有单位”,赤裸裸的0-1之间的数字就行,表示为缩放比例。

  ③倾斜--->skew(参数a,参数b),单位deg,两个参数分别表示x,y方向上的倾斜角度,正数顺时针,负数逆时针。

  ④移动--->translate(参数a),单位px,移动方向是在div这个平面方向上(这样说起来,应该有点难理解,放在四维坐标中,把div看做是任意一个平面来理解),也有正数之分,正向前,负向后。

1)旋转(rotate),我们先来做一个文字的旋转,就像下面这样

/* HTML */
<div class="div1">我只是一个示例</div>

然后再给它写点样式

 /* CSS */
    .div1 {
width: 200px;
height: 50px;
font-size: 20px;
line-height: 50px;
text-align: center;
border: 1px solid;
margin: 100px auto;
-moz-transform: rotate(45deg);/* Firefox 旋转属性,参数表示角度(deg表示角度),负数逆时针,正数顺时针 */
-webkit-transform: rotate(45deg);/* Safari和Chrome */
-ms-transform: rotate(45deg);/* IE 9 */
-o-transform: rotate(45deg);/* Opera */
}

这是效果图:下图是一行文字,被顺时针旋转45度后的效果图。

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

2)缩放(scale)

 /* HTML */
<div class="div2">我只是一个示例</div>
 /* CSS */
    .div2 {
width: 612px;
height: 408px;
font-size: 20px;
margin: 100px auto;
background: url(img/4.jpg);
-moz-transform: scale(0.5);/* 缩放属性 ,参数表示缩放倍数,0-1之间 */
-webkit-transform: scale(0.5);
-ms-transform: scale(0.5);
-o-transform: scale(0.5);
}

这是效果图:下图表示,原图和被缩小0.5倍后的效果图

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动     【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

       

3)倾斜(skew)

 /* HTML */
<div class="div3">我只是一个示例</div>
 /* CSS */
    .div3 {
width: 412px;
height: 208px;
font-size: 20px;
margin: 100px auto;
background: url(img/4.jpg);
-moz-transform: skew(30deg, 30deg);/* 倾斜属性,参数分别表示x,y方的倾斜角度,负数逆时针,正数顺时针 */
-webkit-transform: skew(30deg, 30deg);
-ms-transform: skew(30deg, 30deg);
-o-transform: skew(30deg, 30deg);
}

这是效果图:下图表示一张正图经过 x方向上顺时针旋转30度,y方向顺时针旋转30度后的效果。

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

4)移动(translate)

 /* HTML */
<div class="div4">我只是一个示例</div>
 /* CSS */
     .div4 {
width: 612px;
height: 408px;
font-size: 20px;
margin: 100px auto;
background: url(img/4.jpg);
-moz-transform: translate(100px);/* 移动属性 ,移动方向是在div这个平面方向上,*/
-webkit-transform: translate(100px);
-ms-transform: translate(100px);
-o-transform: translate(100px);
}

我在写的时候,这个移动,单一用的话,真看不出什么效果,单一运用写出来的效果真的不尽人意,下面我们直接把四个属性组合起来,一起用,写一个看着逼格稍稍高点的效果,以往看着别的网站有这个效果,当时

觉得真不错,这两天有时间就把它写出来,呵呵,来看看吧!

5)整合:旋转、缩放、倾斜和移动。

首先了,我们要先敲出一个水平方向上的水平面,看着有点像四维的咯!

 /* HTML */
<div class="div5">我只是一个示例</div>
 /* CSS */
    .div5 {
width: 612px;
height: 408px;
font-size: 20px;
color: #FFFFFF;
margin: 100px auto;
background: url(img/907878604.jpeg);
-moz-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);/* 旋转-缩放-倾斜-移动 */
-webkit-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
-ms-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
-o-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
box-shadow: -15px 7px 10px 3px #444;
float: left;
position: relative;
left: 30%; }

看看效果,是有点丑了!呵呵,如果配上一个3D背景,我相信效果会更好,视觉效果会更强

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

下面我们再写两个,复制修改下代码,再看看

 /* HTML */
<div class="div5_1">我只是一个示例</div>
<div class="div5_2">我只是一个示例</div>
 /* CSS */
   .div5_1 {
width: 612px;
height: 408px;
font-size: 20px;
color: #FFFFFF;
margin: 40px auto;
background: url(907878604.jpeg);
-moz-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);/* 旋转-缩放-倾斜-移动 */
-webkit-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
-ms-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
box-shadow: -15px 7px 10px 3px #444;
position: absolute;
left: 30%;
}
.div5_2 {
width: 612px;
height: 408px;
font-size: 20px;
color: #FFFFFF;
margin: -20px auto;
background: url(img/907878604.jpeg);
-moz-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);/* 旋转-缩放-倾斜-移动 */
-webkit-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
-ms-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
box-shadow: -15px 7px 10px 3px #444;
position: absolute;
left: 30%;
}

看着是不是空间感更强了,如果你细心研究,写在页面上的话,再加一些事件、色彩在它上面,我相信,视觉冲击力就上来了。

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

总结:transform的几个属性用法就是这样的,前端的各种特效,都是自己慢慢细心研究出来的,特效嘛,就像拍电影一样,要投入时间和精力,你做出来的东西才会耳目一新,页面给用户的视觉感,色彩感才会更强。这是关于CSS3的动画、阴影的一个地址,可以参考学习下http://www.css3maker.com/

交流群:192713488

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动的更多相关文章

  1. Css3动画效果&comma;彩色文字效果&comma;超简单的loveHeart

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

  2. PIL图片合成旋转缩放

    用PIL实现图片的旋转,缩放,合成 我们需要知道合成位置的中心点坐标,用中心点坐标,不使用左顶点的坐标是由于缩放过程容易计算. 假设A是局部透明的图片,我们希望把B放在A的底部,仅从A的透明部分显示B ...

  3. CSS3 动画-- 鼠标移上去,div 会旋转、放大、移动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. CSS基础 transform属性的基本使用 移动 旋转 缩放

    1.实现元素位移效果 语法:transform:translate(x轴水平移动距离,Y轴垂直移动距离) 取值:正负都可以 取值方式:数字+px 百分比 :参照自己本的盒子的百分比 比如:本身自己的宽 ...

  5. css3 动画应用 animations 和transtions transform在加上JavaScript 可以实现硬件加速动画。

    transitions(过渡) 被应用于元素指定的属性变化时,该属性经过一段时间逐渐的过渡到最终想要的值. 主要包括四个属性: 执行变换的属性:transition-property 变换延续的时间: ...

  6. css3 变形&lpar;transform&rpar;、转换&lpar;transition&rpar;和动画&lpar;animation&rpar;

    http://www.w3cplus.com/content/css3-transform/  在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动tr ...

  7. CSS3动画属性:变形&lpar;transform&rpar;

    Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix. 语法 t ...

  8. 使用CSS3动画属性实现各种旋转跳跃

    Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix. tran ...

  9. CSS3 动画及过渡详解

    今天开始我们一起来学习有关于CSS3制作动画的几个属性:变形(transform).过渡(transition)和动画(animation)等CSS3技术. 首先我们先来了解一下变形(transfor ...

随机推荐

  1. java表格操作之设置表格列宽

    设置所有列的宽度 /** * 设置所有列的列宽 * @param table * @param width */ public void setAllColumnWidth(JTable table, ...

  2. Python之路,day9-Python基础

    回顾:抽象方法@staticmethod 不能访问类的任何属性@classmethod 类方法 只能访问公有属性@property 属性方法 , 把一个方法变成一个静态属性def sayhi() pa ...

  3. Java多线程系列--&OpenCurlyDoubleQuote;JUC集合”06之 ConcurrentSkipListSet

    概要 本章对Java.util.concurrent包中的ConcurrentSkipListSet类进行详细的介绍.内容包括:ConcurrentSkipListSet介绍ConcurrentSki ...

  4. mysql修改数据表名

    在使用mysql时,经常遇到表名不符合规范或标准,但是表里已经有大量的数据了,如何保留数据,只更改表名呢? 可以通过建一个相同的表结构的表,把原来的数据导入到新表中,但是这样视乎很麻烦. 能否简单使用 ...

  5. 无法分配超出32(XXX)的MINEXTENTS报错的解决方法

    今天在创建新表的时候,遇到该报错:ORA-01659 无法分配超出32(XXX)的MINEXTENTS 解决方法:修改表空间大小. 命令如下: ALTER DATABASE DATAFILE ''D: ...

  6. Docker基础技术:DeviceMapper

    在上一篇介绍AUFS的文章中,大家可以看到,Docker的分层镜像是怎么通过UnionFS这种文件系统做到的,但是,因为Docker首选的AUFS并不在Linux的内核主干里,所以,对于非Ubuntu ...

  7. ActiveMQ JMS 在发邮件中的使用

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久 ...

  8. Xcode Build Setting Reference

    https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/ ...

  9. Java程序栈信息文件中的秘密(五)

    最近发现在使用jstack工具在导出Java应用的线程栈时有一个小小的窍门,比如Linux环境上有一个用户为appuser,假如以这个用户启动了一个Java进程B,如果想要导出进程B的线程栈,则必须切 ...

  10. LeetCode 205&period; Isomorphic Strings (同构字符串)

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...