CSS3 3D变换实例 滚动的正方体
笔记:
2D变换
transform
位移
translateX() translateY()
简写:translate(X值,Y值) 正值向右,负值向左
旋转 rotate()
rotate(?deg) 括号中为角度值 正值是顺时针旋转,负值是逆时针旋转
缩放 scale()
scale() 括号中为数值,可以为浮点数 如大于1是放大效果,小于1是缩小效果
变形(斜切)
skewX() skewY()
简写:skew(X轴斜切角度,Y轴斜切角度)
body:hover div{ transform:translate(100px,100px) rotate(30deg) scale(1.5) skew(40deg,40deg) }
解析顺序:根据transform内写的顺序进行解析。
变换原点:
transform-orign:
left right top bottom
center(默认) 当设置相应的值后,会按照相应设置的值发生变换。
3D变换
3D效果:首先给需要进行3D变换元素的父级添加3D环境和景深。
写法:
transform-style:preserve-3d; <!--添加3D环境-->
perspective:数值; 如:300px; <!--景深--> 数值较低的话无效果
transform
rotateX 沿X轴旋转:正值向右翻转,负值向左翻转
rotateY 沿y轴旋转:正值向右翻转,负值向左翻转
rotateZ 沿z轴旋转:正值向屏幕外,负值向屏幕内
translateX 沿X轴位移:正值向右,负值向左
translateY 沿y轴位移:正值向下,负值向上
translateZ 沿z轴位移:正值向屏幕外,负值向屏幕内
实例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>3D正方形实例</title>
<style type="text/css">
#box{
width: 100px;
height: 100px;
padding: 100px;
margin: 100px auto;
perspective:300px;
} #val{
width: 100px;
height: 100px;
position: relative;/*设置相对定位*/
transform-style: preserve-3d;/*给父级设置3D环境*/
transform-origin: center center -50px;/*沿中轴线转动*/
transition: 1s;/*响应时间1s*/
}
#val div{
position: absolute;/*设置绝对定位*/
width: 100px;
height: 100px;
background: blue;
text-align: center;
font: 40px/100px "微软雅黑";
}
#val div:nth-of-type(1){
background: yellow;
}
#val div:nth-of-type(2){
left:-100px;/*定位 沿X轴向左移动100px*/
background: red;
transform-origin: right;/*位移点为右边*/
transform:rotateY(-90deg);/*向Y轴翻转向左90度*/
}
#val div:nth-of-type(3){
top:-100px;/*定位 沿Y轴向上移动100px*/
background:pink;
transform-origin: bottom;/*位移点为下边*/
transform:rotateX(90deg); /* 沿X轴向内翻转90度*/
}
#val div:nth-of-type(4){
left:100px;
background: #FF6600;
transform-origin: left;
transform:rotateY(90deg);
}
#val div:nth-of-type(5){
top:100px;
background: #1883BA;
transform-origin: top;
transform:rotateX(-90deg);
}
#val div:nth-of-type(6){
background: gray;
transform:translateZ(-100px) rotateX(-180deg); /*翻转180度,不然数字6为镜像显示*/
}
#val:hover {
transform: rotateY(360deg) ; /*鼠标停留,X轴旋转360度,Y轴旋转30度*/
}
</style>
</head>
<body>
<div id="box">
<div id="val">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
</div>
</body>
</html>
实现效果:鼠标停留,立方体旋转。
CSS3 3D变换实例 滚动的正方体的更多相关文章
- CSS3 3D变换
可以这么说,3D变换是基于三维坐标系的.以下是“盗用”的图 CSS3中的3D变换主要包括以下几个功能函数: 3D位移:包括translateZ()和translate3d(): 3D旋转:包括rota ...
- CSS3之3D变换实例详解
CSS3的3D效果很赞,本文实现简单的两种3D翻转效果.首先看效果和源代码,文末是文绉绉的总结部分^_^ 以下CSS代码为了简洁没有添加前缀,请视情况自行添加(自动化时代推荐使用其他的一些方法,如gu ...
- css3 3D变换和动画
3D变换和动画 建立3D空间,transform-style: preserve-3d perspective: 100px; 景深 perspective-origin:center center ...
- css3 3d变换和动画——回顾
1.transform-style 属性指定嵌套原始是怎样在三维空间中呈现. 语法:transform-style: flat | preserve-3d flat 表示所有子元素在2D平面呈现. p ...
- CSS3 3D轮播主要可以分成这样的三类
中秋节假期这么快就没了,这几天还一直下雨,索性在家看看书.这次看的是Tom Lane的<A Tour of PostgreSQL Internals>.这篇小随笔就算做学习笔记了.园子里面 ...
- 好吧,CSS3 3D transform变换,不过如此!
一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...
- 好吧,CSS3 3D transform变换,不过如此!——张鑫旭
一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...
- IT兄弟连 HTML5教程 CSS3属性特效 3D变换3
5 3D旋转 在三维变形中,我们可以让元素在任何轴旋转.为此,CSS3新增了三个旋转函数:rotateX().rotateY()和rotateZ().使用rotateX()函数允许一个元素围绕X轴旋 ...
- IT兄弟连 HTML5教程 CSS3属性特效 3D变换1
3D变换较2D变换多了一下的转换属性,3D转换属性及描述如表1: 表1 3D转换属性 3D的转换方法如表2: 表2 3D转换方法 1 transform-style transform- ...
随机推荐
- Light Oj - 1134 Be Efficient
题目传送门:Be Efficient 题意:输入n和m,然后输入有n个元素的一个序列,问有多少个子序列元素的和能整除m. 思路:求前缀和,利用一个前缀的一个定理求解. 前缀和的一个定理是:每次求的前缀 ...
- JavaScript学习笔记之BOM对象
目录 1.Window 2.Window Screen 3.Window Location 4.Window History 5.Window Navigator 浏览器对象模型(Browser Ob ...
- PHP websocket之聊天室实现
PHP部分 <?php error_reporting(E_ALL); set_time_limit(0);// 设置超时时间为无限,防止超时 date_default_timezone_set ...
- 02. 爬取get请求的页面数据
目录 02. 爬取get请求的页面数据 一.urllib库 二.由易到难的爬虫程序: 02. 爬取get请求的页面数据 一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用 ...
- 【5】Django项目配置settings.py详解
夫唯不争,故天下莫能与之争 --老子<道德经> 本节内容 1.项目配置文件settings.py介绍 2.数据库配置[MySQL] 3.创建模型对象并和数据库同步 4.python官方提供 ...
- 【[Offer收割]编程练习赛12 B】一面砖墙
[题目链接]:http://hihocoder.com/problemset/problem/1494 [题意] [题解] 显然只要记住每一行的各个砖头的间隔处的坐标有多少个就好了: ->也就对 ...
- springboot之多任务并行+线程池处理
最近项目中做到一个关于批量发短信的业务,如果用户量特别大的话,不能使用单线程去发短信,只能尝试着使用多任务来完成!我们的项目使用到了方式二,即Future的方案 Java 线程池 Java通过Exec ...
- [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
菜肴制作 bzoj-4010 HNOI-2015 题目大意:给定一张n个点m条边的有向图,求一个toposort,使得:(1)满足编号为1的点尽量在前:(2)满足(1)的情况下编号为2的点尽量在前,以 ...
- Android---keycode值以及相应名称
KEYCODE列表 电话键 键名 描写叙述 键值 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_ME ...
- JS0基础学习笔记(1)
为了须要,最近開始学习JS相关知识.基本的方式是通过看视频以及查阅相关手冊.并动手实践,亲手写出每一个小案例,以下是相关代码(每一个案例用分隔线隔开). <!DOCTYPE html> & ...