一、css3变形:

transform:rotate(旋转)|scale(缩放)|skew(倾斜)|translate(位移);

注:当多种变形方式综合在一起时,用空格隔开

1.旋转

a) rotateX(180deg) 沿x轴翻转 等价于 rotate3d(1,0,0,180deg)

b) rotateY(180deg) 沿y轴翻转 等价于 rotate3d(0,1,0,180deg)

c) rotate(60deg) 2d空间的旋转,正值为顺时针,负值为逆时针

d) rotateZ(180deg) 沿z轴翻转 等价于 rotate3d(0,0,1,180deg)

注:旋转单位为deg

2.缩放

a) scaleX(1.5) 沿x轴缩放,默认为1,不放大不缩小,值大于1时放大,小于1时缩小

b) scaleY(0.5) 沿y轴缩放

c) scale(1.5) 沿x轴和y轴同时缩放

d) scaleZ(1.5) 沿z轴缩放

3.倾斜

a) skewX(30deg) 沿x轴倾斜,单位为deg

b) skewY(-30deg) 沿y轴倾斜

c) skew(30deg,15deg) 沿x轴和y轴同时倾斜

skewX(30deg) skewY(15deg) x轴和y轴同时倾斜,效果不同于上面的写法

4.位移

a) translateX(200px) 沿x轴位移,向右为正,向左为负

b) translateY(-200px) 沿y轴位移,向上为负,向下为正

c) translate(100px) 默认不指定轴时,沿x轴位移

translate(100px,100px) 沿x轴和y轴同时位移

等价于

translateX(100px) translateY(100px)

d) translateZ(100px) 沿z轴位移,向前为正,向后为负,设置沿z轴的位移时,需要给父元素添加透视

注:如何使用translate实现不定宽高元素在屏幕窗口或父元素中水平垂直都居中

实现方式如下:

元素{
position:fixed|absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
}


二、改变变形中心点位置

transform-origin:left|center|right top|center|bottom;


三、变形综合

当我们将多种变形方式结合在一起时,改变顺序,效果有可能会不同

eg: transform:rotate(360deg) scale(1.5); 调换顺序,效果一样

transform:translateX(500px) rotate(360deg); 调换顺序,效果不一样


四、设置元素在2d空间变形还是3d空间变形

语法: transform-style:flat(默认值)|preserve-3d;

flat 2d变形

preserve-3d 3d空间的变形


五、透视,井深

描述:用来设置观察者距离物体的距离(3d效果的强度)

语法:

父元素{perspective:数值+单位;}

子元素{transform:perspective(300px) rotateY(45deg);}

从零开始学习前端开发 — 14、CSS3变形基础的更多相关文章

  1. 从零开始学习前端开发 — 2、CSS基础

    一.CSS简介  1.CSS是什么 CSS是Cascading Style Sheets的简称,中文称为层叠样式表.特点:实现了表现与结构相分离 2.css基础语法 css是由选择符和声明两大部分组成 ...

  2. 从零开始学习前端开发 — 1、HTML基础

    一.web标准 web标准-网页制作的标准,它是由一系列标准组成的,主要包含三个方面:结构(html,xhtml),表现(css),行为(javascript) 注:结构和表现的标准由w3c(万维网联 ...

  3. 从零开始学习前端开发 — 17、CSS3背景与渐变

    一.css3背景切割: background-clip:border-box|padding-box|content-box; 作用: 用来设置背景的可见区域 a) border-box 默认值,背景 ...

  4. 从零开始学习前端开发 — 15、CSS3过渡、动画

    一.css3过渡 语法: transition: 过渡属性 过渡时间 延迟时间 过渡方式; 1.过渡属性(transition-property) 取值:all 所有发生变化的css属性都添加过渡 e ...

  5. 从零开始学习前端开发 — 11、CSS3选择器

    一.基本选择器 1.* 通配符(通用选择器) 2.id选择器 3.class选择器(类选择器) 4.标签选择器(元素选择符) 5.群组选择器 (选择符1,选择符2{...}) 二.层次选择器(关系选择 ...

  6. 从零开始学习前端开发 — 16、CSS3圆角与阴影

    一.css3圆角: border-radius:数值+单位; 1.设置一个值:border-radius:20px; 四个方向圆角都为20px(水平半径和垂直半径相等) 2.设置两个值 border- ...

  7. 从零开始学习前端开发 — 12、CSS3弹性布局

    一.分栏布局 1.设置栏数column-count:数值; 2.设置每栏的宽度column-width:数值+单位; 注:当设置了column-width,column-count会失效,二者设置其一 ...

  8. 从零开始学习前端JAVASCRIPT — 1、JavaScript基础

    1:定义:javascript是一种弱类型.动态类型.解释型的脚本语言. 弱类型:类型检查不严格,偏向于容忍隐式类型转换. 强类型:类型检查严格,偏向于不容忍隐式类型转换. 动态类型:运行的时候执行类 ...

  9. 从零开始学习前端JAVASCRIPT — 4、JavaScript基础Math和Date对象的介绍

    Math对象的介绍 1:Math对象 Math 对象用于执行数学任务.并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math().您无需创建它,通过把 Math 作为对象使用就 ...

随机推荐

  1. vim 当前用户显示行号

    在 -/.vimrc 中添加 set nu 如果文件不存在可以直接新建这个文件 -表示当前用户的主目录

  2. Lambda 表达式,Java中应用Lambda 表达式

    一.Lambda 表达式 简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数. 链接:知乎 先举一个普通的 Python 例 ...

  3. Looping over the databases on a server

    SP_MSFOREACHDB 获得所有实例下数据库名称 EXEC sp_MSForEachDB 'PRINT "?"'   sp_MSforeachtable   USE MAST ...

  4. 从开源项目看python代码注释

    最近看了不少代码,也写了不少代码,所以在看和写之间发现了很多的问题,真的是很多,至少从我的认识来看,有几个地方有很大的改进空间,这里不准备把所有的问题都列举出来,所以就先挑选一个比较明显得来和大家聊聊 ...

  5. Python中的单例模式的几种实现方式的优缺点及优化

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  6. jBPM学习之部署流程定义

    也许部署流程定义的方法有很多,这里选用的是用Java代码调用工作流引擎提供的部署服务API.在这之前,假设你的Eclipse已经安装好了GPD工作流画图工具,并且学会了画出最简单的HelloWorld ...

  7. Python可视化库Matplotlib的使用

    一.导入数据 import pandas as pd unrate = pd.read_csv('unrate.csv') unrate['DATE'] = pd.to_datetime(unrate ...

  8. HDFS Federation

    http://hadoop.apache.org/docs/r2.9.0/hadoop-project-dist/hadoop-hdfs/Federation.html Background HDFS ...

  9. Hyperledger Fabric 1.0 从零开始(九)——Fabric多节点集群生产启动

    7:Fabric多节点集群生产启动 7.1.多节点服务器配置 在生产环境上,我们沿用4.1.配置说明中的服务器各节点配置方案. 我们申请了五台生产服务器,其中四台服务器运行peer节点,另外一台服务器 ...

  10. iOS开发的另类神器:libimobiledevice开源包【类似android adb 方便获取iOS设备信息】

    简介 libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备.由于苹果官方并不支持Linux系统,但是Linux上 ...