css3 2D变形(transform)移动、缩放、旋转、倾斜
一. translate(x,y) 或者translateX(x)或者translateY(y)
注意点:translateX(x)和translateY(y)大写X和Y;只写一个值,默认y=0。
<body>
<div></div>
</body>
div{
width: 200px;
height: 200px;
background: rgb(185, 24, 24);
transition: all 1s;
}
div:hover {
transform: translate(100px,100px);/* 只写一个值,默认y=0 */
}

一个作用:使定位的盒子居中对齐,代替原来的方法——嵌套的定位盒子如何居中?
<div class="father">
<div class="son"></div>
</div>
.father {
width: 300px;
height: 300px;
border: 1px solid #000;
position: relative;
}
.son {
width: 100px;
height: 100px;
background: rgb(133, 57, 57);
position: absolute;
/* 水平垂直居中 */
left: 50%;
top: 50%;
transform: translate(-50%,-50%);/* transform的位移是居于自身位置的移动,并且会保留位置,类似relative */
}

二、scale(x,y)或scaleX(x)或scaleY(y)
注意点:scaleX(x)和scaleY(y)大写X和Y;只写一个值,默认x=y。
<body>
<div></div>
</body>
div{
width: 200px;
height: 200px;
background: rgb(185, 24, 24);
transition: all 1s;
}
div:hover {
transform: scale(0.6);/* 只写一个值,x=y=0.6 */
}

示例:鼠标经过盒子,图片会动(被放大),效果如下:

<body>
<div><img src="sina.jpg"></div>
</body>
div{
width: 229px;
height: 143px;/* 盒子和图片宽高相等 */
overflow: hidden;/* 等下图片放大,切掉超过部分 */
}
img{
transition: all 0.3s;/* 添加一个过渡效果 */
}
div:hover img{
transform: scale(1.1);/* 鼠标经过盒子时,里面的图片(宽高都)放大110% */
}
三、rotate(angle)或rotateX(angle)或rotateY(angle)
注意:transform-origin 可以设置旋转点,默认是中心点 ;一定要跟度数deg。
<body>
<div></div>
</body>
div{
width: 200px;
height: 200px;
background: rgb(185, 24, 24);
transform-origin: bottom right;/* 设置旋转点,默认是中心点 */
transition: all 1s;
}
div:hover {
transform: rotate(180deg);/* deg必须要写 */
}

示例,旋转的6张图片,效果如下:

<body>
<ul>
<li><img src="1.jpg" ></li>
<li><img src="2.jpg" ></li>
<li><img src="3.jpg" ></li>
<li><img src="4..jpg" ></li>
<li><img src="5.jpg" ></li>
<li><img src="6.jpg" ></li>
</ul>
</body>
ul {
width: 220px;
height: 220px;
position: relative;
}
li{
list-style: none;
position: absolute;
left:;
top:;
transform-origin: left top;
transition: all 1s;
}
ul:hover li:first-child{
transform: rotate(60deg);
}
ul:hover li:nth-child(2){
transform: rotate(120deg);
}
ul:hover li:nth-child(3){
transform: rotate(180deg);
}
ul:hover li:nth-child(4){
transform: rotate(240deg);
}
ul:hover li:nth-child(5){
transform: rotate(300deg);
}
ul:hover li:last-child{
transform: rotate(360deg);
}
四、skew(x-angle,y-angle)或者skewX(angle)或者skewY(angle)
<body>
<div></div>
</body>
div{
width: 200px;
height: 200px;
background: rgb(185, 24, 24);
transition: all 1s;
}
div:hover {
transform: skew(20deg,30deg);/* 只写一个,y=0 */
}

总结:1. transform 可以连写,但是连写的顺序会影响动画,它是按照一定顺序来的;
2. transform 经常与 过渡transition 一起连用,用来展示动画效果;
3.有2D 也有3D,3D就是利用有XYZ轴,后面的补上。
css3 2D变形(transform)移动、缩放、旋转、倾斜的更多相关文章
- CSS3(3)---2D变形(transform)
CSS3(3)---2D变形(transform) 2D变形是CSS3中具有颠覆性的特征之一,它常用的属性有:移动(translate).缩放(scale).旋转(rotate).倾斜 (skew). ...
- WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示
原文:WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示 为方便描述, 这里仅以正方形来做演示, 其他图形从略. 运行时效果图:XAML代码:// Transform.XAML< ...
- CSS3 2D变形 transform---移动 translate(x, y), 缩放 scale(x, y), 旋转 rotate(deg), transform-origin, 倾斜 skew(deg, deg)
transform是CSS3中具有颠覆性的特征之一,可以实现元素的位移.旋转.倾斜.缩放,甚至支持矩阵方式,配合过渡和即将学习的动画知识,可以取代大量之前只能靠Flash才可以实现的效果. 变形转换 ...
- CSS3的变形transform、过渡transition、动画animation学习
学习CSS3动画animation得先了解一些关于变形transform.过渡transition的知识 这些新属性大多在新版浏览器得到了支持,有些需要添加浏览器前缀(-webkit-.-moz-.- ...
- CSS3——2D变形和3D变形
2D变形(CSS3) transform transform是CSS3中具有颠覆性的特征之一,可以实现元素的位移.旋转.倾斜.缩放,甚至支持矩阵方式,配合过渡和即将学习的动画知识,可以取代大量之前只能 ...
- css3 2D变换 transform
旋转函数rotate(),deg表示度数,transform-origin表示旋转的基点 <head> <title>无标题文档</title> <style ...
- 2D变形transform的translate和rotate
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CSS3 2D Transform
在 一个二维或三维空间,元素可以被扭曲.移位或旋转.只不过2D变形工作在X轴和Y轴,也就是大家常说的水平轴和垂直轴:而3D变形工作在X轴和Y轴之外, 还有一个Z轴.这些3D变换不仅可以定义元素的长度和 ...
- Android图片旋转,缩放,位移,倾斜,对称完整示例(一)——imageView.setImageMatrix(matrix)和Matrix
MainActivity如下: import android.os.Bundle; import android.view.MotionEvent; import android.view.View; ...
随机推荐
- Java 总结篇1
初始Java 1.Java的特点: ① 跨平台(字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成特定的机器码进行运行) ② 简单 ...
- .net framework 4.0 安装一直失败,错误代码0x80240037,解决
本文链接:https://blog.csdn.net/Chris_Ime/article/details/81626778 今天遇到一问题,在新电脑win7系统上安装.net framework 4. ...
- create-react-app中的一些功能配置
1. 根路径别名@ 1. npm run eject调出配置文件.找到webpack.config.js,搜索到,alias,在下面添加一行键值对'@':paths.appSrc, alias: { ...
- vue防止闪屏小技巧:[v-cloak]
css 内添加此属性[v-cloak] { display: none; } html中引入即可 <div v-cloak> {{ message }} </div> 如果觉得 ...
- Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) (1208F,1208G,1208H)
1208 F 大意: 给定序列$a$, 求$\text{$a_i$|$a_j$&$a_k$}(i<j<k)$的最大值 枚举$i$, 从高位到低位贪心, 那么问题就转化为给定$x$ ...
- Ubuntu下添加定时任务执行php文件
//添加自动下载定时任务1. vim /etc/crontab2. 添加 #每5分钟执行一次*/5 * * * * root /usr/bin/php /home/wwwroot/123.php3. ...
- Vue.js 教程 -- 实例讲解
一. Vue.js是什么 Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项目整合. 1.1 Vue.js的目的 ...
- DBShop前台RCE
前言 处理重装系统的Controller在判断是否有锁文件后用的是重定向而不是exit,这样后面的逻辑代码还是会执行,导致了数据库重装漏洞和RCE. 正文 InstallController.php中 ...
- windows系统Android-sdk的下载与环境变量配置
最近一段时间在做app的开发,作为前端而言,开发app并不像android工程师那样熟悉android开发:无论是使用cordova.js或者react-native开发都需要配置android开发环 ...
- 实现对MySQL数据库进行分库/分表备份(shell脚本)
工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...