边框动画 单边追随

news2024/11/30 18:31:03

在这里插入图片描述

时间短就直接看第三个使用 clip-path + animation 完成。

<!DOCTYPE html>
<html>

<head>
    <style>
        /* 第一个 */
        .btn {
            width: 100px;
            height: 40px;
            background: yellow;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 5px;
            margin-left: 50px;
            margin-top: 50px;
            overflow: hidden;
        }

        .btn::before {
            content: '';
            width: 200%;
            height: 200%;
            background-color: red;
            animation: move 3s infinite linear;
            transform-origin: 0 0;
            position: absolute;
            top: 50%;
            left: 50%;
        }

        .btn::after {
            content: '';
            position: absolute;
            width: calc(100% - 8px);
            height: calc(100% - 8px);
            background-color: green;
        }

        .btn .name {
            z-index: 1;
        }


        @keyframes move {
            to {
                transform: rotate(1turn);
            }
        }



        /* 第二个 */

        .borderShow {
            width: 150px;
            height: 70px;
            margin: 30px;
            position: relative;
            border-radius: 6px;
            overflow: hidden;
            border: 1px solid red;
            display: flex;
            justify-content: space-around;
            align-items: center;

            &::after {
                content: '';
                position: absolute;
                top: 2px;
                left: 2px;
                width: calc(100% - 4px - 12px);
                height: calc(100% - 4px - 12px);
                text-align: center;
                border: 6px solid white;
                border-radius: 4px;
                background-color: #fff;
                animation: showRound 3s infinite linear;

            }



            /* 内部的盒子 */
            .borderShowCenter {
                position: absolute;
                top: 8px;
                left: 8px;
                width: calc(100% - 4px - 12px);
                height: calc(100% - 4px - 12px);
                text-align: center;
                border-radius: 4px;
                display: flex;
                justify-content: space-around;
                align-items: center;
                color: #fff;
                background-color: #c073ed;
                z-index: 10;
                /* 覆盖伪元素 */
            }
        }

        @keyframes showRound {

            /* box-shadow : x轴 y轴 模糊 放大 颜色; */
            0%,
            100% {
                box-shadow: 0px -66px 0px 0px #c073ed;
                /* 上 */
            }

            25% {
                box-shadow: 146px 0px 0px 0px #c073ed;
                /* 右 */
            }

            50% {
                box-shadow: 0px 66px 0px 0px #c073ed;
                /* 下 */
            }

            75% {
                box-shadow: -146px 0px 0px 0px #c073ed;
                /* 左 */
            }
        }



        /* 第三 */

        .clippath_wrap {
            /* width: 150px; */
            height: 70px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;

            &::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                border: 2px solid gold;
                animation: clippath 3s infinite linear;     

                border-radius: 5px
            }
        }

        @keyframes clippath {

            0%,
            100% {
                clip-path: inset(0 0 95% 0);
            }

            25% {
                clip-path: inset(0 95% 0 0);
            }

            50% {
                clip-path: inset(95% 0 0 0);
            }

            75% {
                clip-path: inset(0 0 0 95%);
            }
        }
    </style>
</head>

<body>


    <div class="btn"> <span class="name">按钮名称</span></div>



    <div class="borderShow">
        <div class="borderShowCenter">按钮</div>
    </div>


    <div class="clippath_wrap">第三个按钮</div>

</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/768524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity游戏源码分享-单车骑行游戏

Unity游戏源码分享-单车骑行游戏 项目地址&#xff1a;https://download.csdn.net/download/Highning0007/88057717

【问题总结】Docker环境下备份和恢复postgresql数据库

目录 文章目录 以从备份恢复forest_resources库为例一、备份数据库二、需要还原的数据库准备1 删除掉远程的库。2 重新创建一个空的库。可以使用sql3 找到数据库存放的路径&#xff0c;并将备份文件上传到对应的路径下 三、 进入docker容器内部&#xff0c;执行数据库恢复附录…

C++拷贝构造函数原理解析

喵~ 一、构造函数1.1 默认构造函数1.2 自定义的默认构造函数1.3 自定义带参数的构造函数 二、拷贝构造函数的基本使用2.1 浅拷贝和深拷贝&#xff08;原理及区别&#xff09; 一、构造函数 在C面向对象的学习中&#xff0c;对于构造函数应该并不陌生&#xff0c;有默认的构造函…

第47节:cesium 热力图效果(含源码+视频)

结果示例: 完整源码: index.html中增加<script src="./static/lib/heatmap.js"></script> heatmap.js /** heatmap.js v2.0.5 | JavaScript Heatmap Library** Copyright 2008-2016 Patrick Wied <heatmapjs@patrick-wied.at> - All rights re…

了解 3DS MAX 3D摄像机跟踪设置:第 7 部分

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 在SynthEyes中跟踪素材 步骤 1 打开SynthEyes软件。 打开合成之眼 步骤 2 在跟踪素材之前&#xff0c;您需要设置首选项。因为&#xff0c;你 稍后将在 3ds Max 中工作&#xff0c;必须根据 3ds Max…

双电源并用问题与解决方案

双电源并用问题 曾经有客户在电源模块应用过程中出现过这样的应用场景&#xff0c;如下图1所示。客户使用两路电源给后端电路进行供电&#xff0c;要求在不断电的情况下切换输入电源&#xff0c;此过程中发现后端电路会出现损坏。对各个节点波形进行分析后发现&#xff0c;在给…

在VMware上安装Linux虚拟机

一&#xff0c;下载CentOS操作系统 下载地址&#xff1a;https://vault.centos.org/7.6.1810/isos/x86_64/ 打开下载网址&#xff0c;找到centos-7-x86_64-DVD-1810.iso&#xff0c;下载即可。 下载的漫长等待。。。。。 二、创建虚拟机 打开下载好的VMware。 点击创建新的虚拟…

SPI 的初识

SPI 介绍 Q: SPI 是什么&#xff1f; A: SPI是串行外设接口&#xff08;Serial Peripheral Interface&#xff09;的缩写&#xff0c;是一种高速的&#xff08;比IIC快&#xff09;&#xff0c;全双工&#xff08;IIC是半双工&#xff09;&#xff0c;同步的通信总线&#xf…

【AUTOSAR】:车载以太网

车载以太网 References参考文献车载以太网的物理连接MACPHYPHY的主从关系100BASE-T1回音消除车载以太网的应用层协议References参考文献 汽车软件通信中间件SOME/IP简述100BASE-T1以太网:汽车网络的发展车载以太网的物理连接 MAC MAC(Media Access Control介质访问)一般集成…

数字贸易时代如何高效管理水果出口外贸业务

目前中国水果出口的国家有很多&#xff0c;其中包括但不限于以下几个国家&#xff1a;美国、日本、韩国、俄罗斯、德国、法国、英国、荷兰、澳大利亚、新加坡、马来西亚、泰国、印度尼西亚、巴西、阿联酋等。2023年前5个月&#xff0c;出口目的国家/地区排名前十的分别为&#…

【网络技术】计算机网络介绍

写在前面 计算机网络是指将多台计算机连接起来&#xff0c;使它们能够相互通信和共享资源的系统。 它是现代计算机科学中的重要分支之一&#xff0c;为全球范围内的信息交流和数据传输提供了基础。 本文将介绍计算机网络的基础概念、体系结构、协议、常见问题等的知识。 一、基…

uni-app:scroll-view滚动盒子,实现横(纵)向滚动条

参照&#xff1a;scroll-view | uni-app官网 (dcloud.net.cn) 样式&#xff1a; 代码&#xff1a; <template><view class"box"><scroll-view scroll-x"true" class"scroll"><view class"box1"> <view c…

ElasticSearch搜索相关性及打分的相关原理

文章目录 一、相关性和打分简介二、TF-IDF得分计算公式三、BM25&#xff08;Best Matching 25&#xff09;四、使用explain查看TF-IDF五、通过Boosting控制相关度 一、相关性和打分简介 举个例子来说明&#xff1a; 假设有一个电商网站&#xff0c;用户在搜索框中输入了关键词&…

前端 mock 数据的几种方式

目录 接口demo Better-mock just mock koa webpack Charles 总结 具体需求开发前&#xff0c;后端往往只提供接口文档&#xff0c;对于前端&#xff0c;最简单的方式就是把想要的数据写死在代码里进行开发&#xff0c;但这样的坏处就是和后端联调前还需要再把写死的数据…

计算机视觉和滤帧技术

01 什么是计算机视觉 进入主题之前&#xff0c;先聊聊计算机视觉。 计算机视觉是指利用摄像头和电脑识别、跟踪和测量目标&#xff0c;并进行图像处理&#xff0c;使其适合人眼观察或仪器检测。作为一个科学学科&#xff0c;计算机视觉模拟生物视觉&#xff0c;旨在实现图像和视…

DAY48:动态规划(十一)爬楼梯(进阶版)+零钱兑换(理解DP数组“装满“含义)

文章目录 70.爬楼梯&#xff08;改版题目&#xff09;思路遍历顺序 完整版总结面试情况 322.零钱兑换&#xff08;DP数组含义的进一步理解&#xff09;思路DP数组含义递推公式遍历顺序初始化最开始的写法debug逻辑错误&#xff1a;背包不一定装满 修改完整版递归逻辑分析背包是…

极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析...

全文链接&#xff1a;http://tecdat.cn/?p24182 本文用 R 编程语言极值理论 (EVT) 以确定 10 只股票指数的风险价值&#xff08;和条件 VaR&#xff09;&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 使用 Anderson-Darling 检验对 10 只股票的组合数据进行…

EFCore—context在其他程序集时如何进行数据迁移

场景 解决方案&#xff1a; 代码示例&#xff1a; 场景 一般来说&#xff0c;如果efcore进行数据迁移的步骤如下 安装nuget包创建实体类创建config创建dbcontext 然后执行如下命令就可以成功迁移了 Add-Migration Init Update-Database 一执行&#xff0c;报错 Unable t…

(四)「消息队列」之 RabbitMQ 路由(使用 .NET 客户端)

0、引言 先决条件 本教程假设 RabbitMQ 已安装并且正在 本地主机 的标准端口&#xff08;5672&#xff09;上运行。如果您使用了不同的主机、端口或凭证&#xff0c;则要求调整连接设置。 获取帮助 如果您在阅读本教程时遇到问题&#xff0c;可以通过邮件列表或者 RabbitMQ 社区…

k8s之Pod容器的探针

目录 一、Pod 容器的探针二、探针的探测方式2.1 存活探针的使用2.1.1 exec方式2.1.2 httpGet方式2.1.3 tcpSocket方式 2.2 就绪探针的使用2.3 启动探针的使用2.4 7.Pod 容器的启动和退出动作 三、总结 一、Pod 容器的探针 探针是由 kubelet 对容器执行的定期诊断&#xff08;p…