css实现动态水波纹效果

这篇具有很好参考价值的文章主要介绍了css实现动态水波纹效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果如下:

css实现动态水波纹效果,css专栏,前端,css3,css,javascript,前端框架,npm,elementuicss实现动态水波纹效果,css专栏,前端,css3,css,javascript,前端框架,npm,elementui

  1. 外层容器 (shop_wrap):

    • 设置外边距 (padding) 提供一些间距和边距
  2. 圆形容器 (TheCircle):

    • 使用相对定位 (position: relative),宽度和高度均为 180px,形成一个圆形按钮
    • 圆角半径 (border-radius) 设置为 50%,使其呈现圆形
    • 边框 (border) 和阴影 (box-shadow) 提供边框和轻微的立体感
    • 设置溢出隐藏 (overflow: hidden),确保水波纹效果在容器内显示
    • 鼠标悬停时显示手型光标 (cursor: pointer)
  3. 水波纹容器 (Water):

    • 绝对定位 (position: absolute),覆盖在圆形容器上
    • 设置宽度和高度为 100%,形成一个完整的圆形水波纹效果
    • 设置背景颜色 (background-color) 为水波纹的颜色
    • 圆角半径 (border-radius) 同样设置为 50%
    • 溢出隐藏 (overflow: hidden),确保水波纹效果不超出容器
  4. 文字居中显示 (CenteredText):

    • 绝对定位 (position: absolute),位于水波纹容器中心
    • 使用 transform 属性将文字居中显示
  5. 水波纹效果 (Water::afterWater::before):

    • 使用 ::after::before 伪元素创建水波纹效果
    • 设置宽度和高度为 150%,略大于容器,以确保水波纹效果覆盖整个容器
    • 设置圆角半径,形成圆形效果
    • 设置动画 (animation),通过关键帧 (@keyframes) 实现水波纹的旋转和缩放效果

源码如下: 文章来源地址https://www.toymoban.com/news/detail-802247.html

<template>
    <div class="shop_wrap">
        <div class="TheCircle">
            <div class="Water">
                <span class="CenteredText">上传图片</span>
            </div>
        </div>
    </div>
</template>

<script setup>
</script>

<style lang="scss" scoped>
.shop_wrap {
    padding: 50px; /* 设置外层容器的内边距 */
    
    .TheCircle {
        position: relative;
        width: 180px; /* 设置圆形容器的宽度 */
        height: 180px; /* 设置圆形容器的高度 */
        border-radius: 50%; /* 圆形容器的圆角半径 */
        border: 1px solid #38b973; /* 圆形容器的边框样式 */
        box-shadow: 0 0 0 1px #38b973; /* 圆形容器的阴影样式 */
        overflow: hidden; /* 确保容器裁剪水波纹效果 */
        cursor: pointer; /* 鼠标悬停时显示手型光标 */
    }

    .Water {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #38b973; /* 水波纹的颜色 */
        border-radius: 50%;
        overflow: hidden;
        z-index: 1; /* 确保水波纹在文字之上 */
    }

    .CenteredText {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); /* 居中显示文字 */
        color: #333; /* 文字颜色 */
        z-index: 2; /* 确保文字在水波纹之上 */
    }

    .Water::after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 150%;
        height: 150%;
        border-radius: 40%;
        background-color: rgb(240, 228, 228); /* 水波纹内部颜色 */
        animation: real 5s linear infinite; /* 实际水波纹的动画效果 */
    }

    @keyframes real {
        0% {
            /* 初始状态:向上平移50%、左平移65%并旋转0度 */
            transform: translate(-50%, -65%) rotate(0deg); 
        }
        100% {
            /* 终止状态:向上平移50%、左平移65%并旋转360度,形成旋转一周的效果 */
            transform: translate(-50%, -65%) rotate(360deg); 
        }
    }

    .Water::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 150%;
        height: 150%;
        border-radius: 42%;
        background-color: rgb(240, 228, 228, 0.2); /* 水波纹外部颜色及透明度 */
        animation: virtual 7s linear infinite; /* 虚拟水波纹的动画效果 */
    }

    @keyframes virtual {
        0% {
            /* 初始状态:向上平移50%、左平移60%,不进行缩放,旋转0度 */
            transform: translate(-50%, -60%)  scale(1)  rotate(0deg); 
        }

        100% {
            /* 终止状态:向上平移50%、左平移60%,进行1.1倍的缩放,旋转360度,
            形成旋转一周的效果并放大水波纹 */
            transform: translate(-50%, -60%) scale(1.1) rotate(360deg); 
            
        }
    }
}
</style>

到了这里,关于css实现动态水波纹效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS3实现图片的3D旋转效果

    准备两张图片,尺寸一样大,本代码中是绕 Y 轴进行旋转(也可以改为 X 轴)。 先看看效果:   代码如下:

    2024年02月12日
    浏览(39)
  • [HTML]Web前端开发技术26(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 数据类型 数据类型-字符型 数据类型-数值型 数据类型-布尔型 数据类型-其它类型 变量 转义字符 运算

    2024年02月20日
    浏览(53)
  • CSS3实现的4种3D文字效果

    本文将介绍css3实现的4种3D文字效果。代码很简单,效果很震撼: 代码实现 html: css: 代码解释 1、3D文字效果运用原理就是像Photoshop一样,我们在文字的下方或上方复制了多个图层,并把每一个层向左上或右下方向移动一个1px距离,从而制作出3D效果。同时我们层数越多,其

    2024年02月11日
    浏览(41)
  • 使用css3如何实现一个文字打印效果

    在很多网站首页介绍页里,为了吸引用户,暂留更长时间,使用了一些css3动画的 文字打印.gif 想要实现这个动画,改变元素的宽度,结合动画css3关键帧实现 animation 动画通过设置多个节点来精确控制一个或者一组动画,常用来实现复杂的动画效果; 相对过渡动画, animation 动画可以

    2024年02月16日
    浏览(40)
  • CSS3 实现边框圆角渐变色&&渐变文字效果

      background-clip: text; 是CSS中的一个属性,用于指定背景图片或颜色的裁剪方式,裁剪的区域是文本的轮廓。具体来说,就是将背景图片或颜色限制在文本的轮廓内,而不是整个元素的范围内。这个属性通常用于创建一些特殊的文本效果,比如文字渐变、文字填充等。  参考:

    2024年02月16日
    浏览(31)
  • [HTML]Web前端开发技术7(HTML5、CSS3、JavaScript )CSS的定位机制——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 CSS的定位机制 文档流定位 元素类型   浮动定位 float的用处 float的特点 clear属性 层定位 position属性

    2024年02月05日
    浏览(53)
  • [HTML]Web前端开发技术9(HTML5、CSS3、JavaScript )——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 CSS颜色与背景 颜色color属性 背景background属性 1. 背景颜色background-color 2. 背景图像background-image 3. 背景

    2024年02月03日
    浏览(61)
  • [HTML]Web前端开发技术12(HTML5、CSS3、JavaScript )——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 网页标题:三列自适应宽度 网页标题:多行三列自适应宽度 一级水平导航菜单:采用“无序列表+超

    2024年01月16日
    浏览(58)
  • 【CSS3】CSS3 动画 ⑤ ( 动画速度曲线 | 设置动画步长 | 动画匀速执行 | 动画分 2 步执行 | 使用动画步长实现打字机效果 )

    CSS3 样式中 , 设置 动画速度曲线 的属性是 animation-timing-function 属性 ; animation-timing-function 属性定义了动画从 初始 CSS 样式 变为 结束状态 时 所消耗的时间 ; animation-timing-function 属性常用 属性值 如下 : linear : 动画在整个执行过程中速度都是匀速的 ; ease : 默认属性值 , 动画首先

    2024年02月13日
    浏览(35)
  • css3实现动态心电图折线

    折线心电图 SVG中的坐标系 原点通常位于左上角 ,而 Y轴的正方向是向下的 ,这与一些其他图形系统(例如笛卡尔坐标系)的约定是不同的。因此,如果你在SVG中绘制直线并觉得 倒立 了,可能是因为你在使用笛卡尔坐标系的思维方式时感到困惑

    2024年02月04日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包