css_跳动的心

简介: css_跳动的心

造型来源:正方形加两个圆

正方形加上两个圆可以组合成心型
image.png

  1. 圆的直径与正方形的边长相同
  2. 初始化位置都在中心
  3. 一个圆左移一个直径单位
  4. 另一个圆左移一个半径单位,再上移一个直径单位
  5. 整体顺时针移动45度

    编写css

    css样式的内外边框调整为0

    内外边框为0和内容居中
            *{
         
         
                padding:0;
                margin:0;
            }
            body{
         
         
                width:100vw;
                height:100vh;
                background: #ffffff;
                text-align: center;
                display: flex;
                justify-content: center;
                align-items: center;
            }
    

    正方形css

    边长200px
            .heart{
         
         
                width:200px;
                height:200px;
                position: absolute;
                border-style:solid;
                border-color:pink;
                opacity: 1;
            }
    

    圆的css样式(伪类)

    小圆1号(伪类before)

    使用伪类css来自200px的正方形,调整圆角为圆形,左移一个直径
            /* 伪类创建 */
            .heart::before{
         
         
                content:'';
                width:200px;
                height:200px;
                border-style:solid;
                border-color:pink;
                border-radius: 100%;
                opacity: 1;
                position: absolute;
                transform: translateX(-200px);
            }
    

    小圆2号(伪类after)

    使用伪类css来自200px的正方形,调整圆角为圆形,左移一个半径,上移一个直径
            /* 伪类创建 */
            .heart::after{
   
   
                content:'';
                width:200px;
                height:200px;
                border-style:solid;
                border-color:pink;
                border-radius: 100%;
                opacity: 1;
                position: absolute;
                transform: translate(-100px,-100px);
            }

image.png

旋转45度

image.png

旋转45度统一颜色

去掉边框颜色,填充背景为粉色

image.png

动画

背景颜色变化

白色到粉色的变化

            @keyframes backdiv {
   
   
              50% {
   
   
                background: #ffe6f2;
              }
            }

图案的循环缩放

带上旋转45度,缩放0.5->0.8

            @keyframes change{
   
   
                0%{
   
   
                    transform: rotate(45deg) scale(0.5);
                }
                50%{
   
   
                    transform: rotate(45deg) scale(0.8);
                }
                100%{
   
   
                    transform: rotate(45deg) scale(0.5);
                }
            }

整体代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>heart</title>
        <style>
            *{
    
    
                padding:0;
                margin:0;
            }
            body{
    
    
                width:100vw;
                height:100vh;
                background: #ffffff;
                text-align: center;
                display: flex;
                justify-content: center;
                align-items: center;
                animation-name:backdiv;
                animation-duration: 2s;
                animation-iteration-count: infinite;
            }
            .heart{
    
    
                width:200px;
                height:200px;
                position: absolute;
                background: pink;
                transform: rotate(45deg);
                animation-name:change;
                animation-duration: 2s;
                animation-iteration-count: infinite;
            }
            /* 伪类创建 */
            .heart::before{
    
    
                content:'';
                width:200px;
                height:200px;
                background: pink;
                border-radius: 50%;
                position: absolute;
                /* 定位 */
                transform: translateX(-200px);
            }
            .heart::after{
    
    
                content:'';
                width:200px;
                height:200px;
                background: pink;
                border-radius: 50%;
                position: absolute;
                /* 定位 */
                transform: translate(-100px,-100px);
                /* transform: translateX(-100px); */
            }
            @keyframes change{
    
    
                0%{
    
    
                    transform: rotate(45deg) scale(0.5);
                }
                50%{
    
    
                    transform: rotate(45deg) scale(0.8);
                }
                100%{
    
    
                    transform: rotate(45deg) scale(0.5);
                }
            }
            @keyframes backdiv {
    
    
              50% {
    
    
                background: #ffe6f2;
              }
            }
        </style>
    </head>
    <body>
        <div class='heart'> </div>
    </body>
</html>

效果

1122.gif

目录
相关文章
|
3月前
|
前端开发
CSS跳动的小球
CSS跳动的小球
29 0
|
7月前
|
前端开发
css_跳动的心制作过程
css_跳动的心制作过程
44 0
|
前端开发
HTML+CSS制作七夕跳动的红心动画效果
HTML+CSS制作七夕跳动的红心动画效果
|
前端开发
css跳动文字——加载中
css跳动文字——加载中
246 0
|
前端开发 JavaScript
使用纯html与css实现跳动小球加载动画
跳动小球加载动画 在网页开发中,加载动画是必不可缺的一个设计;因为在一些资源加载的时候需要让用户等待一段时间,为了使用户有更好的交互体验,一个使人身心愉悦的加载动画变必不可少。 今天为大家带来的就是一个小求跳动加载动画
|
前端开发 Web App开发 JavaScript
如何用纯 CSS 创作一个跳动的字母 i
效果预览 在线演示 按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/pZbrpJ 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
978 0
|
22天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
46 7
|
22天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
31 6