美文网首页前端零碎随笔-生活工作点滴
HTML+CSS 2d和3d动画实例,网页前端

HTML+CSS 2d和3d动画实例,网页前端

作者: 鸡毛菜菜子 | 来源:发表于2019-07-16 17:08 被阅读61次

最近逛B站看到不少大神使用CSS3动画做了不少炫酷效果,在模仿的过程中也学到了一些东西。

一、2D涟漪效果 https://codepen.io/daless14/pen/ELFgj

这个实现起来还是比较简单的,里面有有三个技术分别是:                                                                   箱阴影形如: box-shadow: 10px 10px 5px #888888;分别控制向右偏移距离、向下偏移距离、投影清晰度和投影颜色。box-shadow属性向框元素添加一个或多个阴影效果。text-shadow属性向文本设置阴影。与箱音影用法类似,用于给文字添加阴影效果。                                                                           伪元素: “:before" 伪元素可以在元素的内容前面插入新内容。":after" 伪元素可以在元素的内容之后插入新内容。使用这两个两个伪元素是为了配合语义化的实现,不要用:before或:after展示有实际意义的内容,尽量使用它们显示修饰性内容,例如图标。                                                                                  举例:网站有些联系电话,希望在它们前加一个icon☎,就可以使用:before伪元素,如下:

语义化

动画的使用

使用动画需要设置的一些属性值

通过name设置动画的效果,也可以使用 from{} to{} 实现

二、3d立方体旋转和展开 https://www.bilibili.com/video/av49984936 效果超级炫酷,哈哈哈,想具体学的需要自己看一下链接到的大神视频。或者copy我精简过的代码,关于rotate的详细讲解https://jingyan.baidu.com/article/d621e8da0aa7192865913f05.html

   css部分,部分注释用于解释代码作用,不合法,直接复制无法使用,需要记得自己手动去掉呦,这里会加粗提醒。

  *{

margin: 0;

padding: 0;

}

 //强制所有对象内外边距为0,清除dev之间的边距

body{

background-color: greenyellow;

}

.wrap{

height: 150px;

width: 150px;

position: absolute;

top:50%;

left: 50%;

//是组件放置于网页正中间

text-align: center;

//文字放置于组件中间

transform: rotateY(0deg) rotateX(45deg) rotateZ(-45deg) ;

transform-style: preserve-3d;

//使用css3d动画

padding: 0px;

animation:al 6s linear infinite;

}

.side{

height: 100%;

width: 100%;

position: absolute;

border: 1px solid red;

background-color: #ffffff45;

box-sizing: border-box;

}

.wrap .up{

transform:rotateX(90deg) translateZ(75px)

}

.wrap .down{

transform:rotateX(-90deg) translateZ(75px)

}

.wrap .back{

transform:rotateY(180deg) translateZ(75px)

}

.wrap .fornt{

transform:rotateY(0deg) translateZ(75px)

}

.wrap .left{

transform:rotateY(90deg) translateZ(75px)

}

.wrap .right{

transform:rotateY(-90deg) translateZ(75px)

}

@keyframes al{

from{

transform: rotateY(0deg) rotateX(45deg) rotateZ(-45deg) ;

}

to{

transform: rotateY(360deg) rotateX(45deg) rotateZ(-45deg) ;

}

}

.wrap:hover{

animation-play-state: paused;

}

js部分

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>3d正方形旋转</title>

<link rel="stylesheet" href="../css/cube.css"/>

</head>

<body>

<embed src="../img/magic.mp3" hidden="true" autostart="true" />

<div class="wrap">

<div class="side fornt">

<h1>李宇春</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

    </div>

<div class="side back">

<h1>李宇春</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

<div class="side left">

<h1>李宇春</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

<div class="side right">13921752308

<h1>李宇春</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

<div class="side up">

<h1>李宇春</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

<div class="side down">

<h1>李宇春</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

</body>

</html>

通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数. 

例:animation:myfirst 6s linear infinite;

然后还要一个是三个立方体展开的demo,可以直接复制运行

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>3d正方形旋转</title>

<link rel="stylesheet" href="../css/cube2.css"/>

</head>

<body>

<div class="wrap">

<div class="side fornt">

<h1>正面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

  </div>

<div class="side right">

<h1>左面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

<div class="side up">

<h1>上面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

</div>

<div class="wrap wrap2">

<div class="side fornt">

<h1>正面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

  </div>

<div class="side right">

<h1>左面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

<div class="side up">

<h1>上面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

</div>

<div class="wrap wrap3">

<div class="side fornt">

<h1>正面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

  </div>

<div class="side right">

<h1>左面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

<div class="side up">

<h1>上面</h1>

    <p>愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你善其身,愿你遇良人。</p>

</div>

</div>

</body>

</html>

css部分

*{

margin: 0;

padding: 0;

}

body{

background-color: greenyellow;

}

.wrap{

height: 150px;

width: 150px;

position: absolute;

top:20%;

left: 40%;

text-align: center;

transform: rotateY(-45deg) rotateX(-20deg) rotateZ(20deg) ;

transform-style: preserve-3d;

padding: 0px;

}

.wrap2{

transform: rotateY(-45deg) rotateX(-20deg) rotateZ(20deg) translate(150px,150px) ;

}

.wrap3{

transform: rotateY(-45deg) rotateX(-20deg) rotateZ(20deg) translate(150px,-150px) ;

}

.side{

height: 100%;

width: 100%;

position: absolute;

border: 1px solid red;

background-color: #ffffffc7;

box-sizing: border-box;

transition: transform .8s ease;

}

.wrap .fornt{

transform:rotateY(0deg) translateZ(75px)

}

.wrap .right{

transform:rotateY(90deg) translateZ(75px)

}

.wrap .up{

transform:rotateX(90deg) translateZ(75px)

}

.wrap .right:hover{

transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(150px,0) translateZ(75px);

}

.wrap .up:hover{

transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0,-150px) translateZ(75px);

}

相关文章

  • HTML+CSS 2d和3d动画实例,网页前端

    最近逛B站看到不少大神使用CSS3动画做了不少炫酷效果,在模仿的过程中也学到了一些东西。 一、2D涟漪效果http...

  • UIView 常见翻转动画

    2D动画 Y轴3D翻转 水平2D 旋转

  • CSS3动画

    CSS3之2D/3D动画 2D的变换3D的变换动画 2D动画的变换 基本说明 注意:一般要写不同浏览器的适配 移动...

  • 动画使用库,总结

    导航过渡、动画和转换(2D/3D)【relative】、渐变html元素隐藏的几种方式与动画 一、用到的css动画...

  • Android动画

    Android动画 Android提供了多种强大的API,用于动画UI元素和绘制自定义2D和3D图形。 逐帧动画(...

  • 2018-08-15

    国产动画之2D与3D之争 国产3D动画是如何反超2D动画的 如果对国产动画有一定关注的观众们可能会注意到,当前最...

  • css动画

    css3动画 过渡:transition 2D 转换 transform 3D 转换 transform 动画:a...

  • iOS(四)CAAnimation 的属性(动画)

    动画方式 动画方式有2D移动和3D旋转。 对于CABasicAnimation类: 以上代码表示沿着竖直方向移动。...

  • CSS3入门之2D、3D、过度、动画

    2D 3D 过度 动画 2D效果 主要是平面的一些常规操作 transform属性 移动 transform: ...

  • HTML+CSS前端基础实践总结

    HTML+CSS是前端开发的基础。HTML是超文本标记语言,使用文本和HTML来描述网页,定义页面的内容。CSS是...

网友评论

    本文标题:HTML+CSS 2d和3d动画实例,网页前端

    本文链接:https://www.haomeiwen.com/subject/ficxkctx.html