CSS动画之转换模块

2D转换模块:注意点:1.可以类似于过渡模块一样简写,但是这里不是用逗号隔开而是用空格                        2.2D的转换模块会修改元素的坐标系,所以旋转之后的平移就不是水平平移    格式:旋转:transform: rotate(30deg)旋转角度          平移:transform: translate(50px,100px);平移的坐标系          缩放:transform: scale(2,4);缩放的倍数          翻转:transform: skew(30deg,20deg);沿x轴y轴旋转的角度          矩阵:transform:matrix(0.866,0.5,-0.5,0.866,0,0);使用六个值的矩阵。达到以上所有功能          综合:transform: rotate(30deg) translate(50px,10px) scale(2,4) skew(30deg,30deg);用空格隔开          形变中心点:transform-origin:50% 50%  可以用百分比,像素,特殊关键字,默认旋转是通过自己的中心点做参考,可以通过修改形变中心点来改变旋转          旋转轴向:transform:rotateX(45deg);transform:rotateY(45deg);transform:rotateZ(45deg);一般默认旋转是垂直桌面的Z轴旋转的          透视属性:perspective:500px  近大远小(一般结合旋转轴向来看,更加直观)值是距离物体的多远          注意点:一定要把透视属性设置到你要观察的元素的父元素(上级就行,设置给它爷爷也行)上面!!!!!
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>2D转换</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        ul{
            list-style: none;
            width: 800px;
            height: 800px;
            background-color: #5bc0de;
            margin: 0 auto;
        }
        li{
            width: 60px;
            height: 50px;
            background-color: yellow;
            margin: 0 auto;
            margin-bottom: 100px;
            text-align: center;
            line-height: 50px;

        }
        .box2{
            transform: rotate(30deg);
        }
        .box3{
            transform: translate(50px,10px);
        }
        .box4{
            transform: scale(2,4);
        }
        .box5{
            transform: skew(30deg,30deg);
        }
        .box6{
            transform: rotate(30deg) translate(50px,10px) scale(2,4) skew(30deg,30deg);
        }

    </style>
</head>
<body>

<ul>
    <li class="box1">正常</li>
    <li class="box2">旋转</li>
    <li class="box3">平移</li>
    <li class="box4">缩放</li>
    <li class="box5">翻转</li>
    <li class="box6">综合</li>
</ul>
</body>
</html>
1.2D和3D的区别:2D就是没有厚度只有宽高,3D就是除了宽高还加了厚度默认情况下所有的元素都是2D元素2.如何呈现3D:类似于透视,给其父元素添加transform-style:preserve-3d就行
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>3D转换</title>
 6     <style>
 7         *{
 8             padding: 0;
 9             margin: 0;
10         }
11         .father{
12             background-color:skyblue;
13             width: 200px;
14             height: 200px;
15             margin: 100px auto;
16             perspective: 500px;
17             transform: rotateY(0deg);
18             transform-style: preserve-3d;
19         }
20         .son{
21             background-color: red;
22             width: 100px;
23             height: 100px;
24             margin: 20px auto;
25             transform: rotateY(45deg);
26         }
27     </style>
28 </head>
29 <body>
30 <div class="father">
31     <div class="son"></div>
32 </div>
33 </body>
34 </html>

原文地址:https://www.cnblogs.com/myErebos/p/8586421.html

时间: 2024-10-16 05:10:26

CSS动画之转换模块的相关文章

Css3之高级-7 Css动画(概述、关键帧、动画属性)

一.动画概述 动画概念 - 过渡属性只能模拟动画效果 - animation 属性可以制作类似 Flash 动画 - 通过关键帧控制动画的每一步 - 使元素从一种样式逐渐变化为另一种样式 - 实现复杂的动画效果 - 浏览器兼容性 - 最新版本支持良好 - Chrome 和 Safari 需要前缀 -webkit- - FireFox 需要前缀 -moz- - Opera 需要前缀 -o- 动画示例 - 声明动画 - 创建一个已命名的动画 - 使用 @keyframes 声明动画的关键帧 - 为元

css动画-animation各个属性详解(转)

CSS3的animation很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题. 一.动画属性: 动画属性包括:①animation-name,②animation-duration,③animation-timing-function, 以下是各属性详解: 1.animation-name:指定要绑定到选择器的关键帧的名称. 2.animation-duration:定义动画完成一个周期需要多少秒或毫秒 3.a

Animate.css让添加CSS动画像喝水一样容易

animate.css是一堆很酷的,有趣的,跨浏览器的动画效果库,你可以随意在你的项目中使用.用在你想要突出的任何地方,如主页,滑块,这像喝水一样容易,迷死人了. 用法 在您的网站上使用animate.css,只要简单地把样式表插入到文档中的<HEAD>中,并为需要动画的元素添加一个CSS类名即可,以及动画的名称.就是这样!你就有了一个CSS动画效果.超强! <head>   <link rel="stylesheet" href="animat

CSS动画效果之animation

Y(^o^)Y css动画大乱弹之animation. 概述 什么是animation呢?在回答这个问题之前,先要说明什么叫做@keyframe(关键帧).@keyframe算是一个动画模板.在其中,可以使用百分比,如从0%到100%的任意值,分别在每个百分比中,加上不同的属性,从而让元素达到一种在不断变化的动画效果.这和我们制作flash动画一样,我们只需设计几个关键帧,系统就能生成动画啦! 一个@keyframe例子: 1 /*定义关键帧动画*/ 2 @keyframes myframe {

CSS动画原理及硬件加速

一.图层 图层即层叠上下文,具体概念和应用大家可以看我之前转自张鑫旭大神博客的<CSS层叠上下文和层叠顺序>,这里我们简单复习一下产生层叠上下文的原因. 1.根层叠上下文 指的是页面根元素,也就是滚动条的默认的始作俑者<html>元素.这就是为什么,绝对定位元素在left/top等值定位的时候,如果没有其他定位元素限制,会相对浏览器窗口定位的原因. 2.定位元素与传统层叠上下文 对于包含有position:relative/position:absolute的定位元素,以及Fire

CSS动画与GPU

写在前面 满世界的动画性能优化技巧,例如: 只允许改变transform.opacity,其它属性不要动,避免重新计算布局(reflow) 对动画元素应用transform: translate3d(0, 0, 0).will-change: transform等,开启硬件加速 动画元素尽量用fixed.absolute定位方式,避免reflow 对动画元素应用高一点的z-index,减少复合层数量 ...其它可能有用的规则 那么问题是:已经小心遵守这些规则了,为什么动画还会卡顿.跳帧?还能优化

CSS动画简介

原文地址:http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html 现在,我很少写介绍CSS的文章,因为感觉网站开发的关键还是在服务器端. 但是,CSS动画除外,它实在太有用了. 本文介绍CSS动画的两大组成部分:transition和animation.我不打算给出每一条属性的详尽介绍,那样可以写一本书.这篇文章只是一个简介,帮助初学者了解全貌,同时又是一个快速指南,当你想不起某一个用法的时候,能够快速地找

css动画之波纹

样式定义: #ContactAbout { height: auto; position: relative; overflow: hidden; } #sectioncontact { display: block; width: 100%; position: relative; height: 700px; z-index: 10; } #sectioncontact .map { width: 370px; height: 280px; position: absolute; left:

css动画-音频跳动

---------------------------------------------------------------------------- --------------------------------------------------------------------- 这张图片,大大小小不一样的柱状,只是一张图片?NO! 它不是图片,而且可以让他活灵活现的,跳舞,动起来.类似音频跳动那样无限跳动…… 让你的页面动画在移动设备上运行的更快一些.仅做,音频跳动demo. 效果