资讯专栏INFORMATION COLUMN

【二次元的CSS】—— 用 DIV + CSS3 画Hello Kitty(详解步骤)

wean / 2740人阅读

摘要:原本自己也想画,正巧看到一位外国友人她的个人网站。也用相同的方法画了。且细节相当到位。在此我也分享一下。第三步蝴蝶结第四步身体经过前几次的学习之后,画身体应该没什么难度了吧,都是用各种形状的圆组成的。收工欢迎大家吐槽

原本自己也想画Hello Kitty,正巧看到一位外国友人Lauren McConachie(她的个人网站: http://lorenai.com。)也用相同的方法画了。 且细节相当到位。在此我也分享一下。(出于尊重原作者的目的,CSS我就不修改了)

</>复制代码

  1. GitHub传送门:https://github.com/lancer07/css3HelloKitty

第一步:从头说起

难点是胡须,因为胡须有点弯的,所以每根胡须需要2个元素来实现

</>复制代码

</>复制代码

  1. #head {
  2. position:absolute;
  3. top:124px;
  4. left:130px;
  5. width:224px;
  6. height:167px;
  7. background-color:#FFF;
  8. border:8px solid #000;
  9. -moz-border-radius:160px;
  10. -webkit-border-radius:160px;
  11. border-radius:160px;
  12. z-index:500;
  13. -moz-transform:rotate(2deg);
  14. -ms-transform:rotate(2deg);
  15. -o-transform:rotate(2deg);
  16. -webkit-transform:rotate(2deg);
  17. transform:rotate(2deg);
  18. -webkit-backface-visibility:hidden;
  19. }
  20. .lefteye {
  21. position:absolute;
  22. top:97px;
  23. left:45px;
  24. width:19px;
  25. height:24px;
  26. background-color:#000;
  27. -moz-border-radius:18px;
  28. -webkit-border-radius:18px;
  29. border-radius:18px;
  30. }
  31. .righteye {
  32. position:absolute;
  33. top:93px;
  34. left:162px;
  35. width:19px;
  36. height:24px;
  37. background-color:#000;
  38. -moz-border-radius:18px;
  39. -webkit-border-radius:18px;
  40. border-radius:18px;
  41. }
  42. .nose {
  43. position:absolute;
  44. top:115px;
  45. left:100px;
  46. width:16px;
  47. height:9px;
  48. background-color:#FFB827;
  49. border:6px solid #000;
  50. -moz-border-radius:25px;
  51. -webkit-border-radius:25px;
  52. border-radius:25px;
  53. }
  54. .leftwhiskers, .rightwhiskers {
  55. background-color:#000;
  56. }
  57. .one {
  58. position:absolute;
  59. top:96px;
  60. left:-1px;
  61. width:20px;
  62. height:9px;
  63. -moz-border-radius:0 20px 15px 0;
  64. -webkit-border-radius:0 20px 15px 0;
  65. border-radius:0 20px 15px 0;
  66. -moz-transform:rotate(6deg);
  67. -ms-transform:rotate(6deg);
  68. -o-transform:rotate(6deg);
  69. -webkit-transform:rotate(6deg);
  70. }
  71. .one span {
  72. display:block;
  73. position:absolute;
  74. left:-32px;
  75. top:4px;
  76. width:33px;
  77. height:9px;
  78. background-color:inherit;
  79. -moz-border-radius: 35px 10px 10px;
  80. -webkit-border-radius: 35px 10px 10px;
  81. border-radius: 35px 10px 10px;
  82. -moz-transform:rotate(-15deg);
  83. -ms-transform:rotate(-15deg);
  84. -o-transform:rotate(-15deg);
  85. -webkit-transform:rotate(-15deg);
  86. }
  87. .two {
  88. position:absolute;
  89. top:120px;
  90. left:6px;
  91. width:15px;
  92. height:8px;
  93. -moz-border-radius:10px 20px 13px 10px;
  94. -webkit-border-radius:10px 20px 13px 10px;
  95. border-radius:10px 20px 13px 10px;
  96. -moz-transform:rotate(-15deg);
  97. -ms-transform:rotate(-15deg);
  98. -o-transform:rotate(-15deg);
  99. -webkit-transform:rotate(-15deg);
  100. }
  101. .two span {
  102. display:block;
  103. position:absolute;
  104. top:0px;
  105. left:-24px;
  106. height:8px;
  107. width:25px;
  108. background-color:inherit;
  109. -moz-border-radius:10px 0 0 15px;
  110. -webkit-border-radius:10px 0 0 15px;
  111. border-radius:10px 0 0 15px;
  112. -moz-transform:rotate(-2deg);
  113. -ms-transform:rotate(-2deg);
  114. -o-transform:rotate(-2deg);
  115. -webkit-transform:rotate(-2deg);
  116. }
  117. .three {
  118. position:absolute;
  119. top:138px;
  120. left:20px;
  121. width:15px;
  122. height:8px;
  123. -moz-border-radius:10px;
  124. -webkit-border-radius:10px;
  125. border-radius:10px;
  126. -moz-transform:rotate(-16deg);
  127. -ms-transform:rotate(-16deg);
  128. -o-transform:rotate(-16deg);
  129. -webkit-transform:rotate(-16deg);
  130. }
  131. .three span {
  132. display:block;
  133. position:absolute;
  134. top:5px;
  135. left:-34px;
  136. width:37px;
  137. height:8px;
  138. background-color:inherit;
  139. -moz-border-radius:18px 10px 12px;
  140. -webkit-border-radius:18px 10px 12px;
  141. border-radius:18px 10px 12px;
  142. -moz-transform:rotate(-19deg);
  143. -ms-transform:rotate(-19deg);
  144. -o-transform:rotate(-19deg);
  145. -webkit-transform:rotate(-19deg);
  146. }
  147. .four {
  148. position: absolute;
  149. top: 82px;
  150. left: 205px;
  151. width: 25px;
  152. height: 8px;
  153. -moz-border-radius: 10px 10px 10px 10px;
  154. -webkit-border-radius: 10px 10px 10px 10px;
  155. border-radius: 10px 10px 10px 10px;
  156. -moz-transform: rotate(-13deg);
  157. -ms-transform: rotate(-13deg);
  158. -o-transform:rotate(-13deg);
  159. -webkit-transform: rotate(-13deg);
  160. }
  161. .four span {
  162. display: block;
  163. position: absolute;
  164. top: 3px;
  165. left: 20px;
  166. width: 33px;
  167. height: 8px;
  168. background-color: inherit;
  169. -moz-border-radius: 10px 18px 10px 15px;
  170. -webkit-border-radius: 10px 18px 10px 15px;
  171. border-radius: 10px 18px 10px 15px;
  172. -moz-transform: rotate(13deg);
  173. -ms-transform: rotate(13deg);
  174. -o-transform:rotate(13deg);
  175. -webkit-transform: rotate(13deg);
  176. }
  177. .five {
  178. position: absolute;
  179. top: 105px;
  180. left: 211px;
  181. width: 22px;
  182. height: 8px;
  183. -moz-border-radius:10px;
  184. -webkit-border-radius:10px;
  185. border-radius:10px;
  186. }
  187. .five span {
  188. display: block;
  189. position: absolute;
  190. top: 2px;
  191. left: 16px;
  192. width: 25px;
  193. height: 8px;
  194. background-color: inherit;
  195. -moz-border-radius: 10px;
  196. -webkit-border-radius: 10px;
  197. border-radius: 10px;
  198. -moz-transform: rotate(11deg);
  199. -ms-transform: rotate(11deg);
  200. -o-transform:rotate(11deg);
  201. -webkit-transform: rotate(11deg);
  202. }
  203. .six {
  204. position: absolute;
  205. top: 129px;
  206. left: 200px;
  207. width: 22px;
  208. height: 8px;
  209. -moz-border-radius: 20px 10px 10px 18px;
  210. -webkit-border-radius: 20px 10px 10px 18px;
  211. border-radius: 20px 10px 10px 18px;
  212. -moz-transform: rotate(11deg);
  213. -ms-transform: rotate(11deg);
  214. -o-transform:rotate(11deg);
  215. -webkit-transform: rotate(11deg);
  216. }
  217. .six span {
  218. display: block;
  219. position: absolute;
  220. top: 3px;
  221. left: 18px;
  222. width: 26px;
  223. height: 8px;
  224. background-color: inherit;
  225. -moz-border-radius: 10px 10px 10px 10px;
  226. -webkit-border-radius: 10px 10px 10px 10px;
  227. border-radius: 10px 10px 10px 10px;
  228. -moz-transform: rotate(13deg);
  229. -ms-transform: rotate(13deg);
  230. -o-transform:rotate(13deg);
  231. -webkit-transform: rotate(13deg);
  232. }
第二步:耳朵

右耳画的比较粗糙,原因是因为马上要画个蝴蝶结啊。

</>复制代码

</>复制代码

  1. #leftear {
  2. position:absolute;
  3. top:-16px;
  4. left:-3px;
  5. width:57px;
  6. height:61px;
  7. border:8px solid #000;
  8. border-bottom-color:transparent;
  9. border-right-color:transparent;
  10. -moz-border-radius:20px 37px 20px 44px;
  11. -webkit-border-radius:20px 37px 20px 44px;
  12. border-radius:20px 37px 20px 44px;
  13. -moz-transform:rotate(14deg);
  14. -ms-transform:rotate(14deg);
  15. -o-transform:rotate(14deg);
  16. -webkit-transform:rotate(14deg);
  17. transform:rotate(14deg);
  18. -webkit-backface-visibility:hidden;
  19. }
  20. #leftear span {
  21. position:absolute;
  22. top:2px;
  23. left:-1px;
  24. width:68px;
  25. height:61px;
  26. background-color:#FFF;
  27. -moz-border-radius:18px 34px 20px 44px;
  28. -webkit-border-radius:18px 34px 20px 44px;
  29. border-radius:18px 34px 20px 44px;
  30. }
  31. #rightear {
  32. position:absolute;
  33. top:-27px;
  34. left:143px;
  35. width:57px;
  36. height:61px;
  37. background-color:#FFF;
  38. border:8px solid #000;
  39. border-bottom-color:transparent;
  40. border-right-color:transparent;
  41. -moz-border-radius:20px 37px 20px 44px;
  42. -webkit-border-radius:20px 37px 20px 44px;
  43. border-radius:20px 37px 20px 44px;
  44. -moz-transform:rotate(80deg);
  45. -ms-transform:rotate(80deg);
  46. -o-transform:rotate(80deg);
  47. -webkit-transform:rotate(80deg);
  48. -webkit-backface-visibility:hidden;
  49. }
第三步:蝴蝶结

</>复制代码

</>复制代码

  1. #bow {
  2. position:absolute;
  3. top:134px;
  4. left:141px;
  5. z-index:1000;
  6. }
  7. .center {
  8. position:absolute;
  9. left:140px;
  10. width:32px;
  11. height:35px;
  12. background-color:#F51F27;
  13. border:8px solid #000;
  14. -moz-border-radius:30px;
  15. -webkit-border-radius:30px;
  16. border-radius:30px;
  17. z-index:2;
  18. -moz-transform:rotate(20deg);
  19. -ms-transform:rotate(20deg);
  20. -o-transform:rotate(20deg);
  21. -webkit-transform:rotate(20deg);
  22. }
  23. .left {
  24. position:absolute;
  25. top:-33px;
  26. left:99px;
  27. width:46px;
  28. height:62px;
  29. background-color:#F51F27;
  30. border:8px solid #000;
  31. -moz-border-radius: 50px 50px 55px 46px;
  32. -webkit-border-radius: 50px 50px 55px 46px;
  33. border-radius: 50px 50px 55px 46px;
  34. -moz-transform:rotate(19deg);
  35. -ms-transform:rotate(19deg);
  36. -o-transform:rotate(19deg);
  37. -webkit-transform:rotate(19deg);
  38. }
  39. .left span {
  40. position:absolute;
  41. top:20px;
  42. left:23px;
  43. width:15px;
  44. height:15px;
  45. border:6px solid #000;
  46. -moz-border-radius:30px;
  47. -webkit-border-radius:30px;
  48. border-radius:30px;
  49. }
  50. .right {
  51. position:absolute;
  52. top:0;
  53. left:164px;
  54. width:43px;
  55. height:54px;
  56. background-color:#F51F27;
  57. border:8px solid #000;
  58. -moz-border-radius:78px 48px 60px 63px;
  59. -webkit-border-radius:78px 48px 60px 63px;
  60. border-radius:78px 48px 60px 63px;
  61. -moz-transform:rotate(22deg);
  62. -ms-transform:rotate(22deg);
  63. -o-transform:rotate(22deg);
  64. -webkit-transform:rotate(22deg);
  65. }
  66. .right span {
  67. position:absolute;
  68. top:18px;
  69. left:1px;
  70. width:15px;
  71. height:12px;
  72. border:6px solid #000;
  73. -moz-border-radius:30px;
  74. -webkit-border-radius:30px;
  75. border-radius:30px;
  76. }
第四步:身体

经过前几次的学习之后,画身体应该没什么难度了吧,都是用各种形状的圆组成的。

</>复制代码

</>复制代码

  1. #body {
  2. position:absolute;
  3. top:295px;
  4. width:250px;
  5. height:150px;
  6. }
  7. #leftarm {
  8. position:absolute;
  9. top:-8px;
  10. left:142px;
  11. width:40px;
  12. height:73px;
  13. background-color:#FFF;
  14. border:8px solid #000;
  15. -moz-border-radius:158px 0 82px 100px;
  16. -webkit-border-radius:158px 0 82px 100px;
  17. border-radius:158px 0 82px 100px;
  18. overflow:hidden;
  19. -moz-transform:rotate(28deg);
  20. -ms-transform:rotate(28deg);
  21. -o-transform:rotate(28deg);
  22. -webkit-transform:rotate(28deg);
  23. -webkit-backface-visibility:hidden;
  24. }
  25. #leftarm span {
  26. position:absolute;
  27. top:-3px;
  28. left:1px;
  29. width:50px;
  30. height:38px;
  31. background-color:pink;
  32. border-bottom:8px solid #000;
  33. -webkit-border-top-left-radius: 200px;
  34. -moz-border-radius-topleft: 200px;
  35. border-top-left-radius:200px;
  36. -moz-transform:rotate(6deg);
  37. -ms-transform:rotate(6deg);
  38. -o-transform:rotate(6deg);
  39. -webkit-transform:rotate(6deg);
  40. }
  41. #rightarm {
  42. position:absolute;
  43. top: -4px;
  44. left: 302px;
  45. height: 70px;
  46. width: 40px;
  47. background-color:#FFF;
  48. border: 8px solid #000;
  49. -moz-border-radius: 0 158px 100px 81px;
  50. -webkit-border-radius: 0 158px 100px 81px;
  51. border-radius: 0 158px 100px 81px;
  52. overflow: hidden;
  53. -moz-transform: rotate(-28deg);
  54. -ms-transform: rotate(-28deg);
  55. -o-transform:rotate(-28deg);
  56. -webkit-transform: rotate(-28deg);
  57. -webkit-backface-visibility:hidden;
  58. }
  59. #rightarm span {
  60. position:absolute;
  61. top:-2px;
  62. left:-4px;
  63. width:41px;
  64. height:36px;
  65. background-color:pink;
  66. border-bottom:8px solid #000;
  67. -webkit-border-top-right-radius: 200px;
  68. -moz-border-radius-topright: 200px;
  69. border-top-right-radius:200px;
  70. -moz-transform:rotate(-9deg);
  71. -ms-transform:rotate(-9deg);
  72. -o-transform:rotate(-9deg);
  73. -webkit-transform:rotate(-9deg);
  74. }
  75. #chest {
  76. position: absolute;
  77. top: -32px;
  78. left: 213px;
  79. width: 58px;
  80. height: 54px;
  81. background-color:pink;
  82. border: 8px solid #000;
  83. -moz-border-radius: 60px;
  84. -webkit-border-radius: 60px;
  85. border-radius: 60px;
  86. }
  87. #torso {
  88. position:absolute;
  89. top:-10px;
  90. left:165px;
  91. width:154px;
  92. height:105px;
  93. background-color:#F51F27;
  94. border: 8px solid #000;
  95. -moz-border-radius: 110px 110px 0 0;
  96. -webkit-border-radius: 110px 110px 0 0;
  97. border-radius: 110px 110px 0 0;
  98. border-bottom:none;
  99. }
  100. #torso .leftshort {
  101. display:block;
  102. position:absolute;
  103. top:92px;
  104. left:-8px;
  105. width:73px;
  106. height:14px;
  107. background-color:#F51F27;
  108. border-bottom:8px solid #000;
  109. border-left:8px solid #000;
  110. -moz-border-radius:1px 3px 0 30px;
  111. -webkit-border-radius:1px 3px 0 30px;
  112. border-radius:1px 3px 0 30px;
  113. z-index:3;
  114. -moz-transform:rotate(2deg);
  115. -ms-transform:rotate(2deg);
  116. -o-transform:rotate(2deg);
  117. -webkit-transform:rotate(2deg);
  118. }
  119. #torso .rightshort {
  120. display:block;
  121. position:absolute;
  122. top:97px;
  123. right:-8px;
  124. width:73px;
  125. height:8px;
  126. background-color:#F51F27;
  127. border-bottom:8px solid #000;
  128. border-right:8px solid #000;
  129. -moz-border-radius:3px 1px 30px 0;
  130. -webkit-border-radius:3px 1px 30px 0;
  131. border-radius:3px 1px 30px 0;
  132. z-index:3;
  133. -moz-transform:rotate(-2deg);
  134. -ms-transform:rotate(-2deg);
  135. -o-transform:rotate(-2deg);
  136. -webkit-transform:rotate(-2deg);
  137. }
  138. .crotch {
  139. position:absolute;
  140. bottom:-6px;
  141. left:71px;
  142. width:12px;
  143. height:12px;
  144. background-color:#000;
  145. -moz-border-radius:4px;
  146. -webkit-border-radius:4px;
  147. border-radius:4px;
  148. -moz-transform:rotate(45deg);
  149. -ms-transform:rotate(45deg);
  150. -o-transform:rotate(45deg);
  151. -webkit-transform:rotate(45deg);
  152. }
  153. #leftleg {
  154. position:absolute;
  155. top:100px;
  156. left:165px;
  157. width:73px;
  158. height:34px;
  159. background-color:#FFF;
  160. border:8px solid #000;
  161. -moz-border-radius:0 15px 25px 35px;
  162. -webkit-border-radius:0 15px 25px 35px;
  163. border-radius:0 15px 25px 35px;
  164. }
  165. #rightleg {
  166. position:absolute;
  167. top:100px;
  168. left:246px;
  169. width:73px;
  170. height:34px;
  171. background-color:#fff;
  172. border: 8px solid #000;
  173. -moz-border-radius:15px 0 35px 25px;
  174. -webkit-border-radius:15px 0 35px 25px;
  175. border-radius:15px 0 35px 25px;
  176. }
收工

欢迎大家吐槽

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/115234.html

相关文章

  • SegmentFault 技术周刊 Vol.38 - 神奇的 CSS

    摘要:层叠即表示允许以多种方式来描述样式,一个元素可以被渲染呈现出多种样式。可以让属性的变化过程持续一段时间,而不是立即生效。比如,将元素的颜色从白色改为黑色,通常这个改变是立即生效的,使用后,将按一个曲线速率变化。 showImg(https://segmentfault.com/img/bVZwyL?w=900&h=385); CSS 的全称是 Cascading Style Sheet...

    elliott_hu 评论0 收藏0
  • 二次元的CSS】—— DIV + CSS3 Hello Kitty详解步骤

    摘要:原本自己也想画,正巧看到一位外国友人她的个人网站。也用相同的方法画了。且细节相当到位。在此我也分享一下。第三步蝴蝶结第四步身体经过前几次的学习之后,画身体应该没什么难度了吧,都是用各种形状的圆组成的。收工欢迎大家吐槽 原本自己也想画Hello Kitty,正巧看到一位外国友人Lauren McConachie(她的个人网站: http://lorenai.com。)也用相同的方法画了。...

    TesterHome 评论0 收藏0
  • 二次元的CSS】—— DIV + CSS3 咸蛋超人(详解步骤

    摘要:仅仅使用作为身体的布局,用的各种和圆角属性来绘制各部位的形状,当然也不会使用任何图片哦。有的同学说,用不是能画得更逼真而且更简单吗这点我也非常赞同,但我的理由还是,那就没意思了。这次写的详细一点,把各个部位都拆出来分析。收工欢迎大家吐槽 仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各部位的形状,当然也不会使用任何图片哦。那就没意思了。有的同学说,用c...

    Codeing_ls 评论0 收藏0
  • 二次元的CSS】—— DIV + CSS3 咸蛋超人(详解步骤

    摘要:仅仅使用作为身体的布局,用的各种和圆角属性来绘制各部位的形状,当然也不会使用任何图片哦。有的同学说,用不是能画得更逼真而且更简单吗这点我也非常赞同,但我的理由还是,那就没意思了。这次写的详细一点,把各个部位都拆出来分析。收工欢迎大家吐槽 仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各部位的形状,当然也不会使用任何图片哦。那就没意思了。有的同学说,用c...

    mayaohua 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<