资讯专栏INFORMATION COLUMN

【二次元的CSS】—— 用 DIV + CSS3 画咸蛋超人(详解步骤)

Codeing_ls / 2731人阅读

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

仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各部位的形状,当然也不会使用任何图片哦。那就没意思了。
有的同学说,用canvas不是能画得更逼真而且更简单吗?这点我也非常赞同,但我的理由还是,那就没意思了。

这次写的详细一点,把各个部位都拆出来分析。

</>复制代码

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

第一步:头部轮廓

</>复制代码

</>复制代码

  1. .ultraman header {
  2. border: 7px solid #000;
  3. border-top: 15px solid #000;
  4. width: 200px;
  5. height: 200px;
  6. border-radius: 50% 50% 60% 60%;
  7. position: absolute;
  8. background: #fff;
  9. }
第二步:就算作是头发吧

</>复制代码

</>复制代码

  1. .ultraman header .hair {
  2. position: absolute;
  3. top: -40px;
  4. left: 80px;
  5. width: 0;
  6. height: 0;
  7. border-left: 20px solid transparent;
  8. border-right: 20px solid transparent;
  9. border-top: 140px solid #000;
  10. border-radius: 30% 30% 50% 50%;
  11. }
第三步:眼睛

</>复制代码

因为我是用less写的嘛,所以先定义了一个眼睛的类,然后再生成2个眼睛

</>复制代码

  1. .eye(@l,@r,@deg){
  2. border:5px solid #000;
  3. width:70px;
  4. height:70px;
  5. background:#ffc30a;
  6. border-radius:@l @r;
  7. transform:rotate(@deg);
  8. position:absolute;
  9. top:60px;
  10. }
  11. .left_eye{
  12. .eye(50%,80%,-15deg);
  13. left:10px;
  14. }
  15. .right_eye{
  16. .eye(80%,50%,15deg);
  17. right:10px;
  18. }
第四步:耳朵

</>复制代码

</>复制代码

  1. .ear(@deg){
  2. width:20px;
  3. height:50px;
  4. border:5px solid #000;
  5. position:absolute;
  6. top:70px;
  7. z-index:-1;
  8. transform:rotate(@deg);
  9. background:#fff;
  10. }
  11. .left_ear{
  12. .ear(-7deg);
  13. left:-20px
  14. }
  15. .right_ear{
  16. .ear(7deg);
  17. right:-20px
  18. }
第五步:小身体

</>复制代码

身上有个灯,时间到了,会嘀嘟嘀嘟叫的,所以加一个动画效果

</>复制代码

  1. @keyframes jump{
  2. 0%{
  3. background:#48e1e7;
  4. }
  5. 50%{
  6. background:#961e1e;
  7. }
  8. 100%{
  9. background:#48e1e7;
  10. }
  11. }
  12. .body{
  13. width:100px;
  14. height:80px;
  15. background:#fff;
  16. border:7px solid #000;
  17. position:absolute;
  18. top:180px;
  19. left:50px;
  20. border-radius:0 0 20% 20%;
  21. z-index:-1;
  22. .light{
  23. width:40px;
  24. height:40px;
  25. border:3px solid #000;
  26. position:relative;
  27. top:20px;
  28. left:30px;
  29. background:red;
  30. transform:rotate(-45deg);
  31. span{
  32. width:8px;
  33. height:8px;
  34. border:2px solid #000;
  35. background:#48e1e7;
  36. display:block;
  37. position:absolute;
  38. left:3px;
  39. top:26px;
  40. border-radius:50%;
  41. z-index:2;
  42. animation:jump 0.5s infinite;
  43. }
  44. }
  45. }
第六步:手

</>复制代码

手只要旋转一下就好了,比出一个十字

</>复制代码

  1. .hand{
  2. width:30px;
  3. height:100px;
  4. border-radius:60% 60% 50% 50%;
  5. border:7px solid #000;
  6. position:absolute;
  7. background:#fff;
  8. }
  9. .left_hand{
  10. .hand;
  11. top:160px;
  12. left:30px;
  13. }
  14. .right_hand{
  15. .hand;
  16. top:160px;
  17. left:90px;
  18. transform:rotate(-90deg);
  19. }
第七步:裤子

</>复制代码

</>复制代码

  1. .trousers{
  2. border:7px solid #000;
  3. position:absolute;
  4. background:red;
  5. width:100px;
  6. height:45px;
  7. top:240px;
  8. left:50px;
  9. z-index:-2;
  10. border-radius:0 0 15% 15%;
  11. }
第八步:腿

</>复制代码

至于egg是什么, 我就不赘述了。

</>复制代码

  1. .footer{
  2. width:34px;
  3. height:80px;
  4. border-radius:50% 50% 60% 60%;
  5. border:7px solid #000;
  6. position:absolute;
  7. background:#fff;
  8. z-index:-3;
  9. }
  10. .left_footer{
  11. .footer;
  12. left:46px;
  13. top:260px;
  14. transform:rotate(20deg);
  15. }
  16. .right_footer{
  17. .footer;
  18. right:20px;
  19. top:270px;
  20. transform:rotate(-50deg);
  21. }
  22. .egg{
  23. background:#75d8f9;
  24. width: 18px;
  25. height: 30px;
  26. top: 286px;
  27. left: 97px;
  28. position: absolute;
  29. border-radius: 50%;
  30. border-top:7px solid #000;
  31. }
收工

欢迎大家吐槽

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

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

相关文章

  • 二次元的CSS】—— DIV + CSS3 咸蛋超人详解步骤

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

    mayaohua 评论0 收藏0
  • 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 大白(详解步骤

    摘要:原本自己也想画大白,正巧看到一位同学也用相同的方法画了。且细节相当到位。同时,我也希望有更多的同学发挥自己的想象力,来找个东西画画。如果看过我前几次的分享,肯定能马上想到大白的各个部位是怎么实现的。 原本自己也想画大白,正巧看到一位同学(github:https://github.com/shiyiwang)也用相同的方法画了。 且细节相当到位。所以我就fork了一下,在此我也分享一下...

    littleGrow 评论0 收藏0
  • 二次元的CSS】—— DIV + CSS3 大白(详解步骤

    摘要:原本自己也想画大白,正巧看到一位同学也用相同的方法画了。且细节相当到位。同时,我也希望有更多的同学发挥自己的想象力,来找个东西画画。如果看过我前几次的分享,肯定能马上想到大白的各个部位是怎么实现的。 原本自己也想画大白,正巧看到一位同学(github:https://github.com/shiyiwang)也用相同的方法画了。 且细节相当到位。所以我就fork了一下,在此我也分享一下...

    lunaticf 评论0 收藏0

发表评论

0条评论

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