## 20.4.1.基本概念
2D变换的基本含义是:将浏览器页面(电脑屏幕所在面)当做一个二维平面,然后,通过CSS的设置,使网页元素能够在这个平面上进行“形状变换”。
简单说就是,在一个元素的“本来”外观表现上,可以对其实行:位移,旋转,缩放,斜拉变形等。
比如一个简单的“正常盒子”,可以变换为如下一些形式:
![](https://img.kancloud.cn/59/8c/598c7619cccc63e33f0aaf1bc3216a77_635x124.png)
## 20.4.2.主要属性
* transform:
这是最主要的变换属性;其实所有变换都是通过这个属性,使用不同的值来实现的。
而所用不同的值,主要就是指定不同的变换函数(一个单词),以及所需要变换的数值;
常用2D变换形式如下:
transform: translatex(值): 将元素水平移动给定的值;
transform: translatey(值): 将元素垂直移动给定的值;
transform: translate(x值,y值): 同时进行水平和垂直移动;
transform: rotate(角度值): 将元素旋转给定的角度;
旋转的方向是:正值为顺时针方向,负值为逆时针方向;
transform: scalex(比例值): x方向进行缩放;
transform: scaley(比例值): y方向进行缩放;
transform: scale(x比值, y比值): 同时进行水平和垂直方向的缩放;
transform: skewx(角度值):
将元素从x方向拉伸给定的角度;
ransform: skewy(角度值): 将元素从y方向拉伸给定的角度;
transform: skew(x角度,y角度): 将元素从x和y方向拉伸给定的角度;
特别注意:
1,对一个元素可以同时进行多项变换。
2,进行多项变换时,多个变换属性值要一并写在一起,相互之间用空格隔开,类似这样:
transform: translatex(5px) translatey(10px) rotate(20deg) scale(1.5, 2);
3,对于进行了变换的元素,虽然形状或位置都可能变了,但并不影响其他元素(即不影响布局效果)。
* transform-origin:
指定变换时的“原点”(基点);默认是该变换元素的“中心点”(center, center);形式:
transform-origin:水平坐标 垂直坐标;
其中: 水平坐标可以用一个长度值,或百分比,或left,center,right;
垂直坐标可以用一个长度值,或百分比,或top,center,bottom;
## 20.4.3.案例
将如下一张图片,实现如下所述的2D变换要求:
以图像左上角为原点,旋转15度,并左移20px,而后将x方向缩小为0.7倍;
![](https://img.kancloud.cn/b7/91/b7916ce97a755cdd77a2ab0b94ffc3f2_224x154.png)
最终效果类似这样:
![](https://img.kancloud.cn/c9/1a/c91a2fa996d30bd6f8be7ba6549c0b4b_234x180.png)
![](https://img.kancloud.cn/2c/db/2cdbff7d53b5b078823885adf4f2a00f_850x494.png)
- 1、相关介绍
- 1.1.关于全栈学科
- 1.2.全栈工程师与全栈开发
- 1.3.基本技能
- 1.4.学习方法
- 2、html初步
- 2.1.什么是网页和网站
- 2.2.网页浏览原理
- 2.3.什么是html
- 2.4.html基本知识
- 2.5.综合案例
- 3、html结构标签
- 3.1.文档级结构标签
- 3.2.内容级结构标签
- 3.3.块标签和行内标签
- 4、html文本标签
- 5、html列表标签
- 5.1.无序列表ul>li
- 5.2.有序列表ol>li
- 5.3.定义列表dl>dt,dd
- 6、html图像标签
- 6.1.网页路径问题
- 7、html链接标签
- 7.1.超链接
- 7.2.锚链接
- 7.3.link标签
- 8、html表格标签
- 8.1.表格初步
- 8.2.表格高级
- 8.3.表格案例
- 9、html表单标签
- 9.1.表单初步
- 9.2.表单标签详解
- 9.3.表单和表格综合案例
- 10、html5新增标签与属性
- 10.1.一些新增标签
- 10.2.一些新增input类型
- 10.3.一些新增属性
- 11、其他零碎及相关知识
- 11.1.meta标签(元信息标签)
- 11.2.网页的字符编码问题
- 11.3.特殊字符——字符实体
- 11.4.文档类型(了解)
- 11.5.内嵌框架标签iframe(了解)
- 12、CSS的引入
- 12.1.CSS引入
- 12.2.什么是css?
- 12.3.为什么需要css?
- 13、css入门
- 13.1.css样式分类(根据css代码位置分)
- 13.2.css基本语法
- 13.3.css简单的选择器
- 13.4.css属性
- 13.5.css入门综合案例
- 14、选择器详解
- 14.1.选择器综述
- 14.2.基础选择器
- 14.3.关系选择器
- 14.4.属性选择器
- 14.5.伪类选择器
- 14.6.伪元素选择器
- 14.7.常见选择器的组合
- 14.8.css样式的特性
- 15、有关文字的属性
- 15.1.字体属性
- 15.2.文本属性
- 16、有关盒子的属性
- 16.1.盒子概述
- 16.2.盒子的宽高属性width和height
- 16.3.边框属性border
- 16.4.内边距属性padding
- 16.5.外边距属性margin
- 16.6.背景属性background
- 16.7.轮廓属性outline
- 16.8.盒子综合案例
- 17、有关布局的属性
- 17.1.布局属性
- 17.2.页面布局应用
- 18、定位属性
- 19、列表与表格样式
- 19.1.列表样式
- 19.2.表格样式
- 20、CSS3高级特性
- 20.1.盒子新特性
- 20.2.多栏布局column
- 20.3.弹性布局flex
- 20.4.2D变换transform(2D)
- 20.5.3D变换transform(3D)
- 20.6.过渡效果transition
- 20.7.动画效果animation
- 21、零碎或补遗或经验
- 21.1.光标形状设置cursor
- 21.2.盒子缩放zoom
- 21.3.文字阴影text-shadow
- 21.4.文字溢出text-overflow
- 21.5.盒子模型box-sizing
- 21.6.css初始化
- 21.7.css精灵技术
- 21.8.自定义字体