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

目录
相关文章
|
12月前
|
前端开发
CSS跳动的小球
CSS跳动的小球
56 0
|
前端开发
css_跳动的心制作过程
css_跳动的心制作过程
83 0
|
前端开发
HTML+CSS制作七夕跳动的红心动画效果
HTML+CSS制作七夕跳动的红心动画效果
|
前端开发
css跳动文字——加载中
css跳动文字——加载中
297 0
|
前端开发 JavaScript
使用纯html与css实现跳动小球加载动画
跳动小球加载动画 在网页开发中,加载动画是必不可缺的一个设计;因为在一些资源加载的时候需要让用户等待一段时间,为了使用户有更好的交互体验,一个使人身心愉悦的加载动画变必不可少。 今天为大家带来的就是一个小求跳动加载动画
|
前端开发 Web App开发 JavaScript
如何用纯 CSS 创作一个跳动的字母 i
效果预览 在线演示 按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/pZbrpJ 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
1046 0
|
3月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
3月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
3月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中

热门文章

最新文章