原文地址:https://segmentfault.com/a/1190000015376202

感想: 好像不像呀,啊啊啊。伪元素、定位、动画、width和height包括内边距|边框|内容区。

HTML code:

  1. <!-- 定义 dom,容器中包含 1 个元素表示壶体,其中再包含 1 个元素表示壶把手 -->
  2. <div class="container">
  3. <div class="pot">
  4. <div class="handle"></div>
  5. </div>
  6. </div>

CSS code:

  1. html, body {
  2. margin:;
  3. padding:;
  4. }
  5. *,
  6. *::before,
  7. *::after{
  8. /* 设置元素的width、height包括内边距、边框、内容区 */
  9. box-sizing: border-box;
  10. }
  11. /* 设置body的子元素水平垂直居中 */
  12. body{
  13. height: 100vh;
  14. display: flex;
  15. /* 排不下就换行 */
  16. flex-wrap: wrap;
  17. justify-content: space-around;
  18. align-items: center;
  19. background: linear-gradient(to right bottom, silver, dimgray);
  20. }
  21. /* 设置容器样式 */
  22. .container {
  23. width: 150px;
  24. height: 150px;
  25. border-radius: 50%;
  26. background-color: snow;
  27. display: flex;
  28. justify-content: center;
  29. align-items: center;
  30. animation: pouring 3s linear infinite alternate;
  31. }
  32. /* 再用伪元素给壶加上光影 */
  33. .container::after {
  34. content: '';
  35. position: absolute;
  36. width: 70px;
  37. height: 70px;
  38. border: 3px solid transparent;
  39. border-left-color: white;
  40. border-radius: 50%;
  41. left: 40px;
  42. top: 40px;
  43. transform: rotate(-10deg);
  44. }
  45. @keyframes pouring {
  46. 0%, 25% {
  47. transform: rotate(0deg);
  48. }
  49.  
  50. 75%, 100% {
  51. transform: rotate(-45deg);
  52. }
  53. }
  54. .pot {
  55. position: relative;
  56. width: 85px;
  57. height: 85px;
  58. /* 阴影 */
  59. border-right: 5px solid steelblue;
  60. border-radius: 50%;
  61. background-color: deepskyblue;
  62. }
  63. /* 用伪元素画出壶的上半部分 */
  64. .pot::before {
  65. content: '';
  66. position: absolute;
  67. width: 85px;
  68. height: 43px;
  69. border-right: 5px solid palevioletred;
  70. border-radius: 43px 43px 0 0;
  71. background-color: hotpink;
  72. }
  73. /* 用伪元素画出壶嘴 */
  74. .pot::after {
  75. content: '';
  76. width: 43px;
  77. height: 10px;
  78. position: absolute;
  79. left: 21px;
  80. top: -3px;
  81. background-color: hotpink;
  82. }
  83. /* 画出把手横向的部分 */
  84. .pot .handle {
  85. width: 83px;
  86. height: 7px;
  87. border-radius: 7px;
  88. background-color: black;
  89. position: absolute;
  90. left: 13px;
  91. top: 12px;
  92. }
  93. /* 用伪元素画出把手竖向的部分: */
  94. .pot .handle::before {
  95. content: '';
  96. width: 7px;
  97. height: 50px;
  98. border-radius: 7px;
  99. background-color: black;
  100. position: absolute;
  101. left: calc(85px - 7px);
  102. }

61.纯 CSS 创作一只咖啡壶(这个不好看)的更多相关文章

  1. 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ZRjGGy 可交互视频 此视频是可 ...

  2. 73.纯 CSS 创作一只卡通狐狸

    原文地址:https://segmentfault.com/a/1190000015566332 学习效果地址:https://scrimba.com/c/cz6EzdSd 感想:过渡效果,圆角,定位 ...

  3. 70.纯 CSS 创作一只徘徊的果冻怪兽

    原文地址:https://segmentfault.com/a/1190000015484852 感想:monster中边框角.上下动画.旋转动画.左右动画,眼睛中transform:scaleY(n ...

  4. 62.纯 CSS 创作一只蒸锅(感觉不好看呀)

    原文地址:https://segmentfault.com/a/1190000015389338 HTML code: <!-- steamer: 蒸锅: lid: 盖子: pot: 锅 --& ...

  5. 58.纯 CSS 创作一只卡通鹦鹉

    原文地址:https://segmentfault.com/a/1190000015339977 优化后效果地址:https://scrimba.com/c/c97Z2vuD 感想:消除了图片外的:h ...

  6. 前端每日实战:103# 视频演示如何用纯 CSS 创作一只监视眼

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/GBzLdy 可交互视频 此视频是可 ...

  7. 前端每日实战:111# 视频演示如何用纯 CSS 创作一只艺术的鸭子

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/aaoveW 可交互视频 此视频是可 ...

  8. 如何用纯 CSS 创作一只徘徊的果冻怪兽

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VdOKQG 可交互视频 ...

  9. 前端每日实战:98# 视频演示如何用纯 CSS 创作一只愤怒小鸟中的绿猪

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VBGWqX 可交互视频 此视频是可 ...

随机推荐

  1. angualr Material Icons

    首先需要项目引入 angualr meterial icons的资源库 图标资源链接 https://klarsys.github.io/angular-material-icons/ <md- ...

  2. 6.对图像进行ROI选取并操作

    void Test_ROIWith2Image() { Mat g_srcImage=imread("D:\\OpenCV Projects\\OpenCV_Test_Image\\6.jp ...

  3. asp.net mvc模板布局

  4. Ubuntu 17.10 安装Caffe(cpu)并配置Matlab接口

    (1)安装依赖: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-ser ...

  5. nf_conntrack

    How to Fix Nf_conntrack Table Full Dropping Packet Linux CentOS PacketLoss  2 minutes to read (234 w ...

  6. zabbix3.4安转

    其实很简单  在官网上有安装文档,我只不过是将官网上的拿了下来 安装apache和php 数据库mariadb(我的系统是centos7的所以安装mariadb) 开始zabbix的安装 本次实验 系 ...

  7. js空数组

    首先我们定义一个空的数组: var a = [ ]; 数组a里面是空的没有值,接下来我们打印: console.log(!!a); 因为数组是空的,此处应该为false. 恰好相反,!!a为true. ...

  8. jq实时监测输入框内容改变

    $(document) .on('input propertychange','#telInput',function (e) { if (e.type === "input" | ...

  9. EasyUI学习总结(一)——EasyUI入门

    一.EasyUI下载 EasyUI官方下载地址:http://www.jeasyui.com/download/index.php,目前最新的版本是:jQuery EasyUI 1.4.1

  10. JDK下载与安装、 Eclipse下载与使用、 Tomcat下载与使用、 MySQL安装与使用

    前言 本文将介绍JDK的下载与安装,eclipse的下载与使用,Tomcat的下载与使用,MySQL的安装与使用. JDK下载与安装 一.JRE与JDK介绍 java是当前比较流行的一种编程语言,当我 ...