Kitty用HTML和css咋做,使用 CSS3 绘制 Hello Kitty
偶然间看到了 SegmentFault 上的一篇文章,感受这个 Hello Kitty 画的还不错,心血来潮也用 CSS3 画了个 Hello Kitty,如今在这里记录一下详细的绘制过程。想要源码、素材、在线演示的同窗能够直接拉到最下面。css
咱们先看下原图:html
结构分解
从上图能够看出,Hello Kitty 由脸蛋、耳朵、红色蝴蝶结、眼睛、鼻子和六根胡须构成,因此 DOM 结构也相对简单:css3
开始绘制
能够利用 Photoshop 的参考线精确的计算出元素的 left、top、width、height、border-width 以及四个角的水平 radius 值和垂直 radius 值,有误差的地方再微调一下基本就能够了。git
脸蛋
.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;
}
左耳
.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;
}
让耳朵和脸蛋连为一体: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;
}
再稍加点缀,美化一下: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;
}
右耳
.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;
}
右耳画的比较粗糙,由于立刻就要画蝴蝶结了。ide
蝴蝶结
蝴蝶结分为两个外边,三个圆。外边是整个绘画过程当中最难画的地方,用矩形调整 radius 参数很难作到没有误差,由于它不像是更圆润的矩形,而像是更圆润的三角形。在这里,咱们把它分红四块,各个外边各两块,在块内绘制好对应的区域,再利用 overflow: hidden; 来隐藏多余的部分。而后是三个圆,相对简单。3d
代码量实在太多,就不贴出来了,大概思路就这样子。code
眼睛,鼻子
眼睛和鼻子相对简单,就不贴代码了。orm
胡须
由于胡须是弯弯的,因此每根胡须须要两个元素来实现,咱们就用 :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 就画完了,有没有以为很可爱?~~(ฅ>ω
最后
Kitty用HTML和css咋做,使用 CSS3 绘制 Hello Kitty相关推荐
- Kitty用HTML和css咋做,使用CSS3代码绘制可爱的Hello Kitty猫
感觉这个 Hello Kitty 画的还不错,心血来潮也用 CSS3 画了个 Hello Kitty,现在在这里记录一下详细的绘制过程.想要源码.素材.在线演示的同学可以直接拉到最下面.我们先看下原图 ...
- html css制作404页面,CSS3绘制404页面
标题有点噱了... 最近在做一个交通有关的项目, 想做一个类似标志牌的404, 所以就有了这个. 只用的CSS3中的旋转, 效果如下 上代码: Error .circle { width: 200px ...
- css百度图片布局,css3绘制百度的小度熊
前几天看到一篇文章是写用css3绘制腾讯企鹅的.趁着今天有空,就用css3来写一个百度的小度熊.话不多说,开始上码. 爆照 先来一张呆萌小度熊的成果照. 在绘制小度熊之前,首先要对小度熊布局上进行一个 ...
- python画蝴蝶结_【二次元的CSS】—— 用 DIV + CSS3 画Hello Kitty(详解步骤)
原本自己也想画Hello Kitty,正巧看到一位外国友人Lauren McConachie(她的个人网站: http://lorenai.com.)也用相同的方法画了. 且细节相当到位.在此我也分享 ...
- 气泡提示效果css.html,用纯CSS3绘制高端简约的气泡提示框
用纯css绘制一个简单的气泡提示框,对于长期关注课课家CSS3绘图教程的朋友来说是件轻而易举的事,但是程序员最不喜欢做的事情是重复造轮子,加上之前小编分享的几个气泡要么过于复杂,通用性不强,要么需要鼠 ...
- html css 画五角星,纯 CSS3 绘制图形(心形、五角星、六边形等)
这篇文章给大家带来的是纯 CSS 绘制五角星.六角形.五边形.六边形.心形等等.我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象 ...
- [css] 让网页的字体变得清晰,变细用CSS怎么做?
[css] 让网页的字体变得清晰,变细用CSS怎么做? 全家桶:-webkit-font-smoothing: antialiased -moz-osx-font-smoothing: graysca ...
- [css] 如何做图片预览,如何放大一个图片?
[css] 如何做图片预览,如何放大一个图片? 图片不跨域的话用 canvas 来 drawImage 放大裁剪也可以. 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷 ...
- [css] 除了可以用js跟踪用户信息外,如果不用js,使用纯css怎么做呢?
[css] 除了可以用js跟踪用户信息外,如果不用js,使用纯css怎么做呢? 可以利用 css 的伪类 :hover :active :focus 之类的监听用户行为,然后给指定的url 发送请求. ...
最新文章
- Bullsh*t,System. currentTimeMillis大胆用起来,我说的!
- 高效计算基础与线性分类器
- 3DSlicer4:模块管理(二)场景视图、体数据、体绘制
- SP703 SERVICE - Mobile Service[DP]
- Spring Bean的生命周期(非常详细)
- linux开源软件_为什么要使用Linux和开源软件?
- 一个人越来越有潜力的3个迹象
- 数据库习题(填空题三)
- 菜鸟教程:零基础HTML入门
- mybatis sql 按照特定的字段顺序排序,按照拼音首字母排序
- Android6.0源码下载
- 高等数学:微分、积分物理以及几何意义
- 利用BeautifulSoup爬取豆瓣高分电影排行榜
- Moneybookers支付方式开发
- 模拟赛 Jams倒酒
- 【分布式版本控制系统】GIT 托管网站 客户端
- Roson的Qt之旅#97 Qt编译报错-Could not determine which “make“ command to run
- 开源视频插帧软件DAIN使用教程
- 视频教程-19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程-MySQL
- HDOJ--1000A + B Problem
热门文章
- GM8913型DC平衡双向控制器LVTTL转FPD-LINK
- php sec-websocket-accept,javascript – Websocket握手Sec-WebSocket-Accept标...
- 基于C#制作一个桌面宠物
- 综合治理GIS方案(综治)
- 微软2011年4月最有价值专家(MVP)名单 51CTO十七位用户当选
- 2019年中国幼儿园数量、幼儿园入园率、幼儿园政策及幼儿园市场规模发展趋势分析[图]
- 质数乘积(大数乘法+埃氏筛法)
- 亵渎小说介绍_亵渎行不通
- 基于camunda如何实现会签:camunda会签流程配置与原理解析
- stm32点亮LED的有关寄存器配置CRL、CRH、IDR、ODR