likes
comments
collection
share

CSS绘制呼呼大睡的可爱熊

作者站长头像
站长
· 阅读数 73

前言

使用CSS可以绘制很多有意思的小动画效果,上一篇学习用JS绘制月日历框,并同时用圆圈圈标示出当日日期。这篇就来用CSS绘制呼呼睡觉的小熊,总的思路就是将小熊拆分成不同部位,依次绘制出来即可。

实现思路

将呼呼睡觉的可爱小熊拆分开,绘制好不同部位再组合一起即可形成完整身体,搭配小动画就比较形象展示呼呼大睡的状态。 先把小熊的大致轮廓绘制出来,头部,口鼻部位,熊耳朵,整个身子

// 绘制身体
.body {
  width: 300px;
  height: 150px;
  background: #594a41;  // 设定为褐色
  left: 228px;
  border-radius: 50%;
  bottom: 29px;
}

// 头部
.head {
  z-index: 10;
  width: 152px;
  height: 70px;
  bottom: 32px;
  left: 143px;
  background: #A78A7F; // 头部设定为棕色
  border-radius: 100%;
}

耳朵的绘制还算比较容易,位置先确定好,形状的高度和相对距离设定

.ears {
  width: 42px;
  height: 42px;
  background: #594a41;
  border-radius: 100%;
  left: 220px;
  top: 60px;
  box-shadow: 34px -8px 0 0 #594a41
}

以上处理完绘制出来的身体整体轮廓效果

CSS绘制呼呼大睡的可爱熊

1. 绘制熊眼睛,鼻子,尾巴等部位

代码处理:


// 绘制鼻子,点缀上腮红
.details {
  width: 25px;
  height: 25px;
  background: #221E22;
  border-radius: 100%;
  z-index: 20;
  box-shadow: 100px 0 0 #AD5D4E;
  bottom: 66px;
  left: 135px;
}

// 处理尾巴
.tail {
  width: 50px;
  height: 50px;
  background: #594a41;
  border-radius: 100%;
  left: 490px;
  top: 60px;
}

绘制完,实现的效果 CSS绘制呼呼大睡的可爱熊

2. 熊的前,后腿处理

绘制熊的四肢,代码处理

.paws-front {
  z-index: 15;
  background: #A78A7F;
  width: 100px;
  height: 50px;
  bottom: 14px;
  left: 272px;
  border-radius: 80% 22% 55% 50% / 55% 22% 80% 50%;
  transform: rotateZ(12deg);
} 

绘制完效果展示:

CSS绘制呼呼大睡的可爱熊

3. 熊睡觉呼呼动画效果

先绘制呼呼睡觉的静态展示,再添加动画效果即可

.sleep {
  height: 90px;
  width: 80px;
  position: absolute;
  left: 80px;
  top: 30px;
  font-size: 55px;
}

// 动画处理
@keyframes zz {
  0% {
    opacity: 0;
    transform: scale3d(.2, .2, .2) rotate(-20deg);
  }
  50% {
    opacity: 1;
  }
  80% {
    transform: translateY(-30px) translateX(20px) rotate(10deg);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

处理完,即整体效果就完成了,大功告成!

最后

遇到一个稍微复杂点的效果,通用的处理方法就是将其分解成简单部分去处理,最后再串起来解决起来也相对简单些,这种处理方式很推荐!这个案例分享完成~

转载自:https://juejin.cn/post/7146012538570817566
评论
请登录