一、2D转换

概念:就是元素在2D平面上实现移动,旋转,缩放,斜切的操作就称之为2D转换

  1. 语法:transform:值

值:移动,旋转,缩放,斜切

(1.1)移动

  1. transform:translate()

参数说明:

(1)只有一个值的情况下,表示水平方向运动,正值向右,负值向左,也可以接受百分比,百分比参照的是自身的宽,高

(2)两个值分别控制水平和垂直

(3)移动不会影响其他的元素,类似于相对定位

(4)我们可以通过盒子的绝对定位配合transform:translate(-50%,-50%)实现一个没有宽度高度的盒子水平垂直居中,如果没有宽度,盒子最大的宽自能达到父盒子的一半。

(5)如果想要单个的方向移动 可以写成 translateX()和translateY()

1.2)旋转

  1. transform:rotate()
 

参数说明:

(1)单位是deg  角度

(2)整体发生旋转(包括里面的内容)

(3)正值顺时针,负值逆时针

(4)中心点可以控制

1.3)控制中心点

  1. transform-origin:值
 

值说明:

(1)值可以是方位名词,可以是像素,也可以是百分比(参照的是自身的宽高)

1.4)缩放

  1. transform:scale()
 

参数说明:

(1)没有单位,接受数值和小数

(2)只有一个值的情况,整体缩放(等比例)

(3)两个值的情况,宽度和高度分别缩放(可能会变形)

(5)缩放的中心点也可以被控制

(6)如果想要控制单一的方向,可以使用scaleX和scaleY去控制

1.5)斜切 (S Q奥)

  1. transform:skew()
 

参数说明:

(1)单位是deg

(2)只有一个值的情况下,水平斜切

(3)两个值的情况下,水平垂直分别斜切

(4)斜切的中心点也可以被控制 如果是X轴斜切 中心点控制上下 如果是Y轴斜切 中心点控制左右

总结:

(1)移动,斜切,放大都是可以通过X或者Y去控制某一个方向

(2)中心点可以控制旋转,缩放,斜切

(3)如果我们想要多个2D效果共存,需要采用连写的方式

(4)当在不同场景出现需要transfrom的时候,需要复制前面已经存在的,防止覆盖,并用连写的方式集合到一条transform上

(5)Transform的转换效果顺序尽量保持统一,如果不统一会出现一些问题

二、过渡

首先声明,过渡不是动画,是由css的一种状态到另外一种状态中间变换的过程,我们称之为过渡

  1. transition:值
 

值说明:

(1)那个属性需要过渡就写什么属性 可以用all来代替全部 (必写)

(2)过渡持续的时间,单位可以s或者是ms (必写)
(3)过渡的曲线 默认:ease

(4)过渡从何时开始

注:

css3定义动画新策略:css3的底层是c++,而JQ的animate是用定时器来完成的,所以说css3的运行效率会比animate高出很多,所以但凡是一些不是功能性的动画,不需要保证兼容的时候,一律推荐大家用css3去实现,移动端的动画都用过渡去实现(因为手机的硬件相对电脑来说性能差,所以用c3实现 效率更高)

小细节:display和渐变是不能直接产生过渡的 ...

:过渡的属性最好写全

三、3D转换

3.1)rotateX

让元素围绕着X轴进行旋转

(1)正值表示推到,负值表示鞠躬

(2)没有透视的3D是看不出来的

 

四、盒子居中的其他方法

 

五、向下小箭头的

 5.1 CSS3方法制作

 
 5.2 盒子边框方法制作
 

-------待续 

CSS3基础 02(2D /3D)的更多相关文章

  1. CSS3基础03(3D②) 求粉丝

    3 D (3.1)rotateY 围绕着Y轴进行旋转 (1)正数是(站在右边推),负数是(站在左边推) (2.1)定义元素背过去是否可见 backface-visibility: visible|hi ...

  2. CSS3 transform 属性(2D,3D旋转)

    一.语法 div{ transform:rotate(7deg); -ms-transform:rotate(7deg); /* IE 9 */ -moz-transform:rotate(7deg) ...

  3. CSS自学笔记(13):CSS3 2D/3D转换

    CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transfo ...

  4. CSS3基础入门02

    CSS3 基础入门02 边框相关属性 border-radius 通过这个属性我们可以设置边框圆角,即可以将四个角设置为统一的圆角,也可以单独的设置具体的某一个角的圆角. grammer: borde ...

  5. 【02】HTML5与CSS3基础教程(第8版)(全)

    [02]HTML5与CSS3基础教程(第8版)(全)   共392页.   (魔芋:大体上扫了一遍.没有什么新东西,都是入门的一些基础知识.) 已看完.       [美]elizabeth cast ...

  6. css3 字体、2D转换、3D转换

    学习篇之CSS3 字体.2D转换.3D转换 一.字体 @font-face 将字体文件存放到 web 服务器上,通过CSS3 @font-face规则中定义,它会在需要时被自动下载到用户的计算机上. ...

  7. HTML5移动开发学习笔记之CSS3基础学习

    CSS回顾 在学CSS3之前首先巩固下CSS的基础知识. 1.CSS框模型 举例子: #box { width: 70px; margin: 10px; padding: 5px; } 这个代码将出现 ...

  8. CSS3基础入门03

    CSS3 基础入门03 线性渐变 在css3当中,通过渐变属性实现之前只能通过图片实现的渐变效果.渐变分为线性渐变和径向渐变以及重复渐变三种.线性渐变的模式主要是颜色从一个方向过渡到另外一个方向,而径 ...

  9. h5、css3基础

    一.html(超文本标记语言) 作用:实现页面布局 页面由许多标记符号组成 由浏览器解释执行 二.html主题创建方式 !(英文状态)+tab html:4s+tab html:5+tab 三.标签 ...

随机推荐

  1. PHP正则表达式的快速学习方法

    1.入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或 ...

  2. fastcoloredtextbox控件 看下是否解决了中文

    该控件解决中文网址     未测试是否解决   想保存 http://www.dullong.com/share-a-code-can-be-highlighted-components-fastco ...

  3. Android 中Thread,Handler,Loop学习

    1.先看一下最简单的进度条示例 EG: package com.sxz.android.thread; import java.util.concurrent.atomic.AtomicBoolean ...

  4. 简单介绍Javascript匿名函数和面向对象编程

    忙里偷闲,简单介绍一下Javascript中匿名函数和闭包函数以及面向对象编程.首先简单介绍一下Javascript中的密名函数. 在Javascript中函数有以下3中定义方式: 1.最常用的定义方 ...

  5. Linux线程-创建

    Linux的线程实现是在内核以外来实现的,内核本身并不提供线程创建.但是内核为提供线程[也就是轻量级进程]提供了两个系统调用__clone()和fork (),这两个系统调用都为准备一些参数,最终都用 ...

  6. iar 错误解决

    使用原来备份的项目可以正确烧写并进入调试状态,但使用新项目则报错,错误提示为Failed to load debugee: E:\工作\项目-农业\KaCES-F\Debug\Exe\kaces.tx ...

  7. ionic-native-transitions调用原生页面切换实现ionic路由切换

    废话不多说:ionic-native-transitions调用原生页面切换实现ionic路由切换,从而大大提升ionic应用的性能. ionic-native-transitions是一个ionic ...

  8. 二叉排序树(BST)的建立

    给一个非递归的吧. /* 已知,二叉树存储结构定义见bstree.h,请编写一个算法函数bstree creatBstree(int a[],int n), 以数组a中的数据作为输入建立一棵二叉排序树 ...

  9. liunx之:top命令解释

    top命令经常用来监控linux的系统状况,比如cpu.内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解. 本文通过一个运行中的 ...

  10. C#:安装Windows服务,动态指定服务名及描述

    Installer.cs>> public Installer() { InitializeComponent(); /* 服务未注册前,System.Configuration.Conf ...