用一段CSS代码找回属于童年的哆啦A梦欢度六一附源码在线展示

£神魔★判官ぃ 2022-10-17 04:12 265阅读 0赞

通过 CSS 画一个哆啦A梦,一起找回童年的回忆!

效果图-在线演示-可右键查看完整源码

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phY2tpZURZSA_size_16_color_FFFFFF_t_70

代码分解

border-radius

允许你设置元素的外边框圆角。当使用一个半径时确定一个圆形,当使用两个半径时确定一个椭圆。这个(椭)圆与边框的交集形成圆角效果。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phY2tpZURZSA_size_16_color_FFFFFF_t_70 1

开发过程中经常只用一个属性值,例如 border-radius: 10px; 对这个属性了解的同学应该知道,这其实是一个简写,类似 padding: 10px; 他实际上会有**两个维度的半径,一个是水平维度,一个是垂直维度。**他的全写是 border-radius: 10px 10px 10px 10px / 10px 10px 10px 10px; / 前的四个值是以左上角为首顺时针对应的四个角的水平半径,而后是垂直半径

哆啦A梦的脸比较特殊,我这边用了两个半圆叠加在一起,把多余的部分遮挡

  1. <div class='doraemon'>
  2. <!-- 脸部 -->
  3. <div class='header'></div>
  4. <div class='face'></div>
  5. </div>
  6. .doraemon {
  7. width: 100%;
  8. height: 350px;
  9. position: absolute;
  10. left: 0;
  11. bottom: 0;
  12. }
  13. .header {
  14. position: absolute;
  15. top: 0;
  16. left: 50%;
  17. transform: translate(-50%);
  18. background: #5087b8;
  19. width: 700px;
  20. height: 350px;
  21. border-radius: 350px 350px 0 0 / 350px 350px 0 0;
  22. }
  23. .face {
  24. position: absolute;
  25. top: 100px;
  26. left: 50%;
  27. transform: translate(-50%);
  28. width: 600px;
  29. height: 250px;
  30. background: #fff;
  31. border-radius: 300px 300px 0 / 225px 225px 0 0;
  32. }

效果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phY2tpZURZSA_size_16_color_FFFFFF_t_70 2

rotate()

函数定义了一种将元素围绕一个定点(由 transform-origin 属性指定,默认为元素的中心)旋转而不变形的转换。指定的角度定义了旋转的量度。若角度为正,则顺时针方向旋转,否则逆时针方向旋转。旋转180°也被称为点反射。

就是作一个旋转角度用的,其中还分为 rotateY()rotateX() 作用是让一个元素围绕纵坐标(垂直轴、水平轴)旋转,而不会对其进行变形

因为哆啦A梦的脸比较对称

  1. <div class='eye eye-left'>
  2. <div class='pupil'>
  3. <div class='pupil-mask'></div>
  4. <div class='pupil-middle'></div>
  5. <div class='pupil-small'></div>
  6. <div class='tear-top'></div>
  7. <div class='tear-bottom'></div>
  8. </div>
  9. </div>
  10. <div class='eye eye-right mirror'>
  11. <div class='pupil mirror'>
  12. <div class='pupil-mask'></div>
  13. <div class='pupil-middle'></div>
  14. <div class='pupil-small'></div>
  15. <div class='tear-top'></div>
  16. <div class='tear-bottom'></div>
  17. </div>
  18. </div>
  19. .eye {
  20. position: absolute;
  21. top: 38px;
  22. width: 136px;
  23. height: 136px;
  24. border-radius: 100px 60px 100px 70px / 100px 60px 100px 70px;
  25. border: 2px solid #7f888f;
  26. background: #fff;
  27. }
  28. .eye.eye-left {
  29. left: 104px;
  30. }
  31. .eye.eye-right {
  32. right: 104px;
  33. }
  34. .mirror {
  35. transform: rotateY(180deg); // 水平翻转
  36. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phY2tpZURZSA_size_16_color_FFFFFF_t_70 3

box-shadow

属性用于在元素的框架上添加阴影效果。你可以在同一个元素上设置多个阴影效果,并用逗号将他们分隔开。该属性可设置的值包括阴影的X轴偏移量、Y轴偏移量、模糊半径、扩散半径和颜色。

哆啦A梦的鼻子做出了立体的效果,这时候就该 box-shadow

  1. /* 依次对应的值为 x偏移量 | y偏移量 | 阴影模糊半径 | 阴影扩散半径 | 阴影颜色 */
  2. box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
  1. <div class='nose'>
  2. <div class='blink'></div>
  3. </div>
  4. .nose {
  5. position: absolute;
  6. top: 127px;
  7. left: 50%;
  8. transform: translate(-50%);
  9. width: 80px;
  10. height: 80px;
  11. border-radius: 50%;
  12. background: #ae3537;
  13. box-shadow: 2px 30px 18px -8px rgb(0 0 0 / 33%);
  14. }
  15. /* 鼻子上的光 */
  16. .nose .blink {
  17. position: absolute;
  18. top: 5px;
  19. left: 20px;
  20. width: 36px;
  21. height: 22px;
  22. background: #bf5d5c;
  23. border-radius: 80px 30px 44px 20px / 60px 30px 60px 20px;
  24. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phY2tpZURZSA_size_16_color_FFFFFF_t_70 4

发表评论

表情:
评论列表 (有 0 条评论,265人围观)

还没有评论,来说两句吧...

相关阅读