前言

当我学完css和js后,冒出来一个想法。自己去实现一个可爱的卡通人物。于是我就去codepen找素材,最终选择了皮卡丘,如下图。

准备工作

在开始写皮卡丘之前,我先观察了皮卡丘的整个页面。发现如果要很好的实现这个皮卡丘你不能像写传统网页那样从左到右布局,而是要从中间布局,因为左右两边对称。理清楚了思路之后现在开始编写页面结构。

页面结构如上图所示,当我们编写完html结构,就可以动手去写css。

CSS的实现

在这个地方我们可以暂时先停一下,再次理清思路。这个皮卡丘的最难点的部分在哪里?在于皮卡丘嘴巴上的弧线以及下面椭圆形的舌头。

在实现皮卡丘嘴巴上的弧线时,我产生了两个想法。第一用一个标签包裹实现这个弧线,第二分别用两个标签去包裹实现这两个弧线。最终我选择了第二种。在这里我观察皮卡丘嘴巴上的弧线发现这个弧线就是圆角矩形的四分之一,加上旋转就可以实现这两个弧线。

具体实现如下.mouth .up { position: relative; top: -20px; z-index: 1;

}.mouth .up .lip { border: 3px solid black; height: 30px; width: 100px; background: #ffe600; border-top-color: transparent; border-right-color: transparent; position: relative; position: absolute; left: 50%; margin-left: -50px;

}.mouth .up .lip.left { border-radius: 0 0 0 35px; transform: rotate(-20deg) translateX(-53px);

}.mouth .up .lip.right { border-radius: 0 0 35px 0; transform: rotate(20deg) translateX(53px);

}.mouth .up .lip::before { content: ''; display: block; width: 7px; height: 30px; position: absolute; bottom: 0; background: #ffe600;

}.mouth .up .lip.left::before { right: -6px;

}.mouth .up .lip.right::before { left: -6px;

}

第一个大难点已经解决,接下来解决第二个难点。如何实现皮卡丘的下嘴唇。

观察皮卡丘的舌头我发现这实际上是一个椭圆的一部分或者圆角矩形的一部分,那我就需要截取一部分的椭圆或者圆角矩形就能实现皮卡丘的舌头。第二个解决点怎么实现皮卡丘舌头粉色的部分,有了上面的思路之后,沿着这个思路继续想,实际上这就是两个圆角矩形或者椭圆形的交界处实现的。

画的不是太好各位客官见谅了。

具体的代码的实现如下.mouth .down { height: 180px; position: absolute; top: 5px; width: 100%; overflow: hidden;

}.mouth .down .yuan1 { border: 3px solid black; width: 150px; height: 1000px; position: absolute; bottom: 0; left: 50%; margin-left: -75px; border-radius: 75px/300px; background: #9b000a; overflow: hidden;

}.mouth .down .yuan1 .yuan2 { width: 200px; height: 300px; background: #ff485f; position: absolute; bottom: -160px; left: 50%; margin-left: -100px; border-radius: 100px;

}

这两个难点解决了差不多就完成了整个皮卡丘的一半,剩下的就可以自己去完成了。

结尾

当我写完了皮卡丘的css之后只能感叹于css的神奇,也让我更加深刻的理解了css。在此之前我认为css很简单,但是真正做皮卡丘的时候,还是特别特别难,这个难在于需要你用各种各样的方法去实现你想要的效果,这就需要很好的基础以及想法,在此感谢指导我的各位老师和同学了。

推荐教程:《CSS》

java输出皮卡丘_使用CSS实现皮卡丘相关推荐

  1. java 输出全部小写_输入小写,输出大写,为什么报错?

    输入小写,输出大写,为什么报错? 要实现在文本框里实现输入小写,输出大写 import java.awt.*; import java.awt.Event; import java.awt.TextA ...

  2. java输出二叉树图_如何打印二叉树图?

    我已经创建了简单的二叉树打印机.您可以根据需要使用和修改它,但无论如何它都没有进行优化.我认为这里可以改进很多东西;)import java.util.ArrayList;import java.ut ...

  3. java 输出流转输入流_输入输出--Java IO流

    O流01 javaIO流概述 ①Java IO即Java 输入输出系统 根据针对数据类型的处理,分为字节流和字符流: 字节流中包含输入流[InputStream]和输出流[OutputStream]两 ...

  4. java输出孪生素数对数_孪生素数 - Vincent-yuan - 博客园

    题目描述 所谓孪生素数指的是间隔为2的相邻的素数,他们之间的距离已经近得不能再近了,就像孪生兄弟一样,最小的孪生素数是(3,5),在100以内还有(5,7),(11,13),(17,19),(17,1 ...

  5. java 输出空心正方形_怎么用java数组打印一个正方形中间空着的

    展开全部 其实很简单的32313133353236313431303231363533e58685e5aeb931333365666261,画个图就明了了! 我不是学的Java,但是这种东西应该差不多 ...

  6. java输出excel 异常处理_使用poi导出Excel,并设定单元格内容类型,抛出异常

    本例子使用的是HSSF,为Excel2003提供处理方案. 设定为输入类型为数值 import org.apache.poi.hssf.usermodel.DVConstraint; import o ...

  7. java输出特定日期_用Java写指定一个日期,输出属相和天干地支,怎么写,用最简单的方法。...

    干支计算方法: (1)将十大天干.十二地支编号.如下:甲    乙    丙    丁    戊    己    庚    辛    壬    癸 4     5     6     7     8  ...

  8. 怎么用java做水滴动画_‘纯css实现Material Design中的水滴动画按钮’的js体验优化...

    前言 在上一篇,我们已经实现了用纯css实现水滴扩散动画,但是有一些瑕疵,文章结尾处也提到过,一是页面加载进来就会看到按钮上的水滴动画运动一次,二是点击的时候不能根据鼠标的位置来扩散,今天我们来解决这 ...

  9. java输出windows系统日志_闲聊Windows系统日志

    title: "闲聊Windows系统日志" date: 2021-02-22T18:59:49+08:00 draft: true tags: ['windows'] autho ...

最新文章

  1. LeetCode 232. Implement Queue using Stacks--用2个栈来实现一个队列--C++解法
  2. 【Flutter】ListView 列表高级功能 ( ScrollController 上拉加载更多 )
  3. html提交多个正则表达式,将多个html文件的正则表达式结果写入.txt outfile
  4. mysql字节对齐_结构体字节对齐(转)
  5. 2019-02-24-算法-进化
  6. 某公司为本科以上学历的人重新分配工作,分配原则如下。 (1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作; (2)如果年龄满18岁不满5o 岁,学历本科,不分男女,任中层领导
  7. TypeScript入坑
  8. Katalon Recorder 自动录制 Selenium 爬虫脚本
  9. MySQL之四种SQL性能分析工具
  10. android 音视频硬编解码
  11. 一、用户画像是如何生成的
  12. 基于SpringBoot实现二手交易商城
  13. java hsqldb_java – 运行脚本以使用HSQLDB创建表
  14. 计算机 桌面 休眠,电脑如何设置休眠的时间?
  15. I Incoming Asteroids(优先队列)
  16. vue报错Navigating to current location (/login) is not allowed
  17. 线上会议竞品调研报告
  18. Vue实现vr看房效果
  19. Asp.net URL重定向后css路径问题
  20. 你慕了么,2021年11月全国程序员薪资出炉~

热门文章

  1. 刷屏的海底捞超级APP究竟是怎样与阿里云合作的
  2. 修改谷歌浏览器缓存位置总结
  3. Linux - 零拷贝技术
  4. 计算机考试工作表怎么做表格步骤,计算机考试Excel表格中换行的方法
  5. 密码学–数字签名Digital Signature五种分类
  6. 执行Transact-SQL语句或批处理时发生异常
  7. 为什么HashMap使用红黑树而不是AVL树或者B+树
  8. 系统集成方式:数据集成、控制集成
  9. 用友NC平台之基本概念解析(一)
  10. 实用:python中字典的扁平化(flat)