Kitty用HTML和css咋做,使用 CSS3 绘制 Hello Kitty

news/2024/12/4 10:58:43/

偶然间看到了 SegmentFault 上的一篇文章,感受这个 Hello Kitty 画的还不错,心血来潮也用 CSS3 画了个 Hello Kitty,如今在这里记录一下详细的绘制过程。想要源码、素材、在线演示的同窗能够直接拉到最下面。css

咱们先看下原图:html

a98328b87f4c48d3b44670f231eaa59a.gif

结构分解

从上图能够看出,Hello Kitty 由脸蛋、耳朵、红色蝴蝶结、眼睛、鼻子和六根胡须构成,因此 DOM 结构也相对简单:css3

开始绘制

能够利用 Photoshop 的参考线精确的计算出元素的 left、top、width、height、border-width 以及四个角的水平 radius 值和垂直 radius 值,有误差的地方再微调一下基本就能够了。git

a98328b87f4c48d3b44670f231eaa59a.gif

脸蛋

.hello-kitty-div .face {

left: 107px;

top: 77px;

width: 747px;

height: 566px;

border-top: 35px solid black;

border-bottom: 31px solid black;

border-left: 29px solid black;

border-right: 30px solid black;

border-top-left-radius: 355px 333px;

border-top-right-radius: 355px 333px;

border-bottom-left-radius: 370px 285px;

border-bottom-right-radius: 330px 255px;

background-color: white;

z-index: 100;

}

a98328b87f4c48d3b44670f231eaa59a.gif

左耳

.hello-kitty-div .left-ear {

left: 112px;

top: 61px;

width: 250px;

height: 250px;

border-top: 33px solid black;

border-bottom: 30px solid black;

border-left: 28px solid black;

border-right: 30px solid black;

border-top-left-radius: 138px 100px;

border-bottom-left-radius: 334px 310px;

background-color: white;

transform: rotate(23deg);

z-index: 99;

}

a98328b87f4c48d3b44670f231eaa59a.gif

让耳朵和脸蛋连为一体:github

.hello-kitty-div .left-ear-clean {

left: 146px;

top: 96px;

width: 250px;

height: 250px;

border-top-left-radius: 138px 100px;

border-bottom-left-radius: 360px 310px;

background-color: white;

transform: rotate(23deg);

z-index: 101;

}

a98328b87f4c48d3b44670f231eaa59a.gif

再稍加点缀,美化一下:segmentfault

.hello-kitty-div .left-ear-beautify {

left: 149px;

top: 221px;

width: 60px;

height: 30px;

border-top-left-radius: 20px 15px;

border-top-right-radius: 25px 15px;

border-bottom-left-radius: 20px 15px;

border-bottom-right-radius: 25px 15px;

background-color: black;

transform: rotate(-52deg);

z-index: 102;

}

a98328b87f4c48d3b44670f231eaa59a.gif

右耳

.hello-kitty-div .right-ear {

left: 600px;

top: 50px;

width: 250px;

height: 250px;

border-top: 33px solid black;

border-bottom: 28px solid black;

border-left: 30px solid black;

border-right: 29px solid black;

border-top-left-radius: 220px 170px;

border-top-right-radius: 90px 57px;

border-bottom-right-radius: 334px 245px;

background-color: white;

transform: rotate(-21deg);

z-index: 99;

}

.hello-kitty-div .right-ear-clean {

left: 700px;

top: 105px;

width: 120px;

height: 120px;

background-color: white;

z-index: 101;

}

a98328b87f4c48d3b44670f231eaa59a.gif

右耳画的比较粗糙,由于立刻就要画蝴蝶结了。ide

蝴蝶结

蝴蝶结分为两个外边,三个圆。外边是整个绘画过程当中最难画的地方,用矩形调整 radius 参数很难作到没有误差,由于它不像是更圆润的矩形,而像是更圆润的三角形。在这里,咱们把它分红四块,各个外边各两块,在块内绘制好对应的区域,再利用 overflow: hidden; 来隐藏多余的部分。而后是三个圆,相对简单。3d

代码量实在太多,就不贴出来了,大概思路就这样子。code

a98328b87f4c48d3b44670f231eaa59a.gif

a98328b87f4c48d3b44670f231eaa59a.gif

a98328b87f4c48d3b44670f231eaa59a.gif

a98328b87f4c48d3b44670f231eaa59a.gif

眼睛,鼻子

眼睛和鼻子相对简单,就不贴代码了。orm

a98328b87f4c48d3b44670f231eaa59a.gif

胡须

由于胡须是弯弯的,因此每根胡须须要两个元素来实现,咱们就用 :before 和 :after 吧。

某一根胡须的代码:

.hello-kitty-div .left-moustache-1:before {

content: '\20';

display: block;

position: absolute;

left: 20px;

top: 420px;

width: 100px;

height: 24px;

border-top-left-radius: 80px 30px;

border-bottom-left-radius: 20px;

background-color: black;

transform: rotate(-5deg);

z-index: 101;

}

.hello-kitty-div .left-moustache-1:after {

content: '\20';

display: block;

position: absolute;

left: 131px;

top: 418px;

width: 60px;

height: 24px;

border-top-right-radius: 100px 30px;

border-bottom-right-radius: 20px;

background-color: black;

transform: rotate(2deg);

z-index: 101;

}

如今,整个 Hello Kitty 就画完了,有没有以为很可爱?~~(ฅ>ω

a98328b87f4c48d3b44670f231eaa59a.gif

最后


http://www.ppmy.cn/news/374540.html

相关文章

KiTTY及cnKiTTY配置文件kitty.ini的简单中文注释

必要的简单说明: 1.对需要修改或者启用的配置需要去掉“ ; ”注释符号使其生效。 2.设置的值可能是“yes”,“no”,或者具体数值,或者其他特定字符组合有效。 3.部分功能可能已经不被新的程序支持,但配置文件中依旧…

哈喽你们好呀

目录 自我介绍 学习目标 学习路径(暂定) 目标公司 结语 自我介绍 哈喽大家,在下 十五倾 ,是一名即将毕业的专科大三。 虽然有点晚,但之前学习过一些编程的内容,也算小有基础,但由于时间比较久&…

andorid 第二天 hello kitty

每日感言学习每一个语言的潜规则都是在搭建好环境后在界面上显示一句“Hello world。”我没有潜规则,我显示了一句“hello kitty”。Step by Step1.File -》New project-》Android2.在project name写你的project name。。。3.基本的包名,单一的activity类…

KiTTY常用设置

KiTTY是基于Putty的改进版,加入了一些实用特性,比如记住密码自动连接等,下面是几个常用的设置,记录一下: 编码设置: Window -> Translation -> Remote character set : UTF-8 自动登录设置: Connetcion -> Da…

kitty 终端使用ssh

我的主要终端软件就是使用kitty,但是在kitty中直接使用ssh时会有一些小问题。 比如:ranger htop这类的在命令行中的“图形”软件打开会报错。 Error opening terminal: xterm-kitty. _curses.error: setupterm: could not find terminal 一直以来都没有抽空尝试解…

kitty终端使用笔记

简介 kitty是一个免费的开源 图形处理单元(GPU) 加速[2] [3] 终端仿真器,适用于Linux和macOS,专注于性能和功能。kitty 是用C和Python编程语言混合编写的,它是少数支持 GPU 和Alacritty的终端仿真器之一。kitty 与另一个程序 KiTTY 同名&…

KiTTY/cnKiTTY与PuTTY/cnPuTTY差异和使用的简单说明~~

PuTTY是所有类PuTTY或者其他相关程序的基础,它的更多信息请查看:PuTTY: a free SSH and Telnet client KiTTY仅限于Windows用户使用,KiTTY的优势是:它可以执行PuTTY的所有任务,以及它自己收集的PuTTY缺少的特性。更多信…

python画猫hellokitty_如何用铅笔画HelloKitty? 原来是这样的

Hello Kitty是大家耳熟能详的卡通人物,今天小编就和大家分享一下她的画法。希望能够帮助到大家。 工具/材料 铅笔(1支) 橡皮擦(1块) A4纸(1张) 操作方法 01 首先画出hello kitty的蝴蝶结,如下图所示。 注意事项: (1)蝴蝶结不宜画太大,因为它的大小直接决定了hello kitty的大…