• 纯CSS制作加<div>制作动画版哆啦A梦


    纯CSS代码加上<div>制作动画版哆啦A梦(机器猫)

    哆啦A梦(机器猫)我们大家一定都很熟悉,今天给大家演示怎么用纯CSS代码,来做一个动画版的哆啦A梦.

    效果图:

    下面代码同学可以查看一下,每个线条及椭圆都是纯CSS代码生成。

    首先分析结构

    根据原图,将哆啦A梦分为几个结构,然后再分解其他部位。

    • 画出各部分的形状和颜色,然后使用绝对定位(absolute)和相对定位(relative)改变其位置。

    • 各种带弧度形状,使用border-radius属性实现。

    • 倾斜角度,使用transform属性实现。

    • 使用background属性的-webkit-gradient() / -moz-linear-gradient() 画出身体部分的线性色彩变化。

      html代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>哆啦A梦(机器猫)动画版</title>
    </head>
    <body>
    	<!-- content是整个哆啦A梦的主体 -->
    	<div class="content">
    		<!-- 哆啦A梦的头部 -->
    		<div class="head"></div>
    		<!-- 哆啦A梦的脸部 -->
    		<div class="face">
    		</div>
    		<div class="eye">
    			<div></div>
    			<div></div>
    		</div>
    		<div class="eye-2">
    			<div>
    				<div></div>
    			</div>
    			<div>
    				<div></div>
    			</div>
    		</div>
    		<!-- 哆啦A梦的鼻子 -->
    		<div class="nose">
    			<div class="nose-2"></div>
    			<div class="nose-3"></div>
    		</div>
    		<!-- 哆啦A梦的胡子 -->
    		<div class="huzi">
    			<div></div>
    			<div></div>
    			<div></div>
    			<div></div>
    			<div></div>
    			<div></div>
    		</div>
    		<div class="huzi2">
    			<div></div>
    			<div></div>
    			<div></div>
    			<div></div>
    			<div></div>
    			<div></div>
    		</div>
    		<!-- 哆啦A梦围巾 -->
    		<div class="weijin"></div>
    	</div>
    </body>
    </html>
    

    css代码如下:

    <style>
    		/*给背景设置渐变色*/
    		body {
    		    background-image:linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #57c6e1 42%, #b49fda 79%, #7ac5d8 100%);
    		}
    		/*给哆啦A梦整体设置宽度*/
    		.content{
    			 333px;
    			height: 350px;
    			position: relative;
    			margin: 50px auto;
    			/*让content 执行keyframes动画*/
    			animation: play 5s linear infinite;
    		}
    
    		/*头设置*/
    		.head {
    			 325px;
    			height: 325px;
    			border-radius: 50%;
    			background-color: #0dacd7;
    			border: 2px solid #555555;
    			transition: 3s;
    		}
    		/*脸设置*/
    		.face{
    			 270px;
    			height: 200px;
    			background-color: white;
    			border-radius: 130px;
    			position: absolute;
    			top: 115px;
    			left: 31px;
    			transition: 3s;
    		}
    		/*眼睛设置*/
    		.eye {
    			 158px;
    			position: absolute;
    			top: 82px;
    			left: 90px;
    			transition: 3s;
    		}
    		.eye>div{
    			 75px;
    			height: 90px;
    			background-color: white;
    			border: 2px solid black;
    			border-radius: 40px;
    			float: left;
    			transition: 3s;
    		}
    		.eye-2>div{
    			 17px;
    			height: 30px;
    			border-radius: 50%;
    			background-color: black;
    			position: relative;
    		}
    		.eye-2>div:nth-child(1){
    			position: absolute;
    			top: 116px;
    			left: 136px;
    		}
    		.eye-2>div:nth-child(2){
    			position: absolute;
    			top: 116px;
    			left: 184px;
    		}
    		.eye-2>div>div {
    			 9px;
    			height: 9px;
    			background-color: white;
    			border-radius: 50%;
    			position: absolute;
    			top: 13px;
    			left: 5px;
    		}
    		/*鼻子设置*/
    		.nose{
    			 32px;
    			height: 32px;
    			background-color: #c93300;
    			border-radius: 50%;
    			position: absolute;
    			top: 159px;
    			left: 153px;
    		}
    		.nose-2 {
    			 3px;
    			height: 80px;
    			background-color: black;
    			position: absolute;
    			top: 32px;
    			left: 14px;
    		}
    		.nose-3 {
    			 147px;
    			height: 77px;
    			border-bottom: 3px solid black;
    			border-radius: 50%;
    			position: absolute;
    			top: 35px;
    			left: -58px;
    		}
    		/*围巾设置*/
    		.weijin{
    			 240px;
    			height: 24px;
    			background-color: #ab2800;
    			border-radius: 9px;
    			position: absolute;
    			top: 305px;
    			left: 45px;
    		}
    		/*胡子设置*/
    		.huzi {
    			position: absolute;
    			top: 186px;
    			left: 54px;
    		}
    		.huzi>div:nth-child(1){
    			 60px;
    			height: 2px;
    			background-color: black;
    			transform: rotate(15deg);
    			transition: 3s;
    		}
    
    		.huzi>div:nth-child(2){
    			 60px;
    			height: 2px;
    			background-color: black;
    			margin-top: 20px;
    			margin-bottom: 20px;
    			transition: 3s;
    		}
    		.huzi>div:nth-child(3){
    			 60px;
    			height: 2px;
    			background-color: black;
    			transform: rotate(-15deg);
    
    		}
    
    		.huzi2 {
    			position: absolute;
    			top: 186px;
    			left: 224px;
    		}
    		.huzi2>div:nth-child(1){
    			 60px;
    			height: 2px;
    			background-color: black;
    			transform: rotate(165deg);
    		}
    
    		.huzi2>div:nth-child(2){
    			 60px;
    			height: 2px;
    			background-color: black;
    			margin-top: 20px;
    			margin-bottom: 20px;
    		}
    		.huzi2>div:nth-child(3){
    			 60px;
    			height: 2px;
    			background-color: black;
    			transform: rotate(-165deg);
    
    		}
    		/*设置哆啦A梦移动路径的动画*/
    		@keyframes play {
    			0{
    				transform: rotate(0deg) translateX(0);
    
    			}
    			15%{
    				transform:  translateX(400px) rotate(190deg);
    
    			}
    			30%{
    				transform: translateX(0px) rotate(-80deg);
    			}
    			45%{
    				transform: translateX(-400px) rotate(-175deg);
    			}
    			60%{
    				transform: translateX(-100px) rotate(-20deg);
    			}
    			80%{
    				transform: rotate(190deg) translateY(-300px);
    			}
    			100%{
    				transform: rotate(-20	deg) translateY(200px);
    			}
    		}
    	</style>
    
    
  • 相关阅读:
    Python爬虫教程-06-爬虫实现百度翻译(requests)
    Python爬虫教程-04-response简介
    Python爬虫教程-05-python爬虫实现百度翻译
    LeetCode——Balanced Binary Tree
    LeetCode——Min Stack
    LeetCode——Count and Say
    LeetCode——Invert Binary Tree
    LeetCode——Contains Duplicate II
    设计模式——桥接模式
    设计模式——责任链模式
  • 原文地址:https://www.cnblogs.com/zhaohongcheng/p/10843155.html
Copyright © 2020-2023  润新知