如何使用 CSS 制作一个简易爱心

6,486次阅读
没有评论

共计 1245 个字符,预计需要花费 4 分钟才能阅读完成。

W3cschool 小编
2022-11-11 10:51:14
浏览数 (3366)

分析:

  • 爱心可以通过一个正方形 + 两个圆形组合成。
  1. 先画一个正方形 + 圆形, 摆放位置如下:

如何使用 CSS 制作一个简易爱心

  1. 再添加上一个圆形。

如何使用 CSS 制作一个简易爱心

  1. 最后再将整个图形顺时针旋转 45 度即可。

如何使用 CSS 制作一个简易爱心

初步实现

  1. 先画一个正方形:
   
       
   #heart{
          height: 300px;
          width: 300px;
          border: 2px solid black;
       }
  1. 给这个正方形的左边加行一个圆形. 这里使用伪类:before 来实现:
        #heart{
               height: 200px;
               width: 200px;
               border: 2px solid black;
               position: relative;
           }
       #heart:before{
           content: '';
           width: 200px;
           height: 200px;
           border: 2px solid black;
           border-radius: 50%; // 正方形加圆角变成圆
           position: absolute;
           left: -100px;  // 向左位移正方形一半的长度
       }

此时图形长这样:

如何使用 CSS 制作一个简易爱心

  1. 再添加一个圆形, 这里使用 after 伪类来实现。
      #heart{
               height: 200px;
               width: 200px;
               border: 2px solid black;
               position: relative;
           }
           // 这里偷个懒. 直接写一块了
       #heart:before,#heart:after{
           content: '';
           width: 200px;
           height: 200px;
           border: 2px solid black;
           border-radius: 50%;
           position: absolute;
           left: -100px;
       }
       // 第二个圆, 只需要向上位移正方形一半的高度
       #heart:after{
           left: 0;
           top: -100px;
       }

如何使用 CSS 制作一个简易爱心

  1. 最后一步, 旋转一下, 然后上个颜色. 去掉之前为了看清楚加的边框。
      /* 给 heart 进行旋转并加上颜色 */
     transform: rotate(45deg);
     background-color: red;

如何使用 CSS 制作一个简易爱心

完整代码:






    
    
    
    Document
    




    

原文地址: 如何使用 CSS 制作一个简易爱心

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-23发表,共计1245字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)