炫酷 css实现水波纹
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第23天,点击查看活动详情 ui设计的元素有时候需要有一些动画效果,可以直接用css动画来实现。
实现一个中心圆向四周有水波纹的效果
利用定位添加多个圆,给他们加上动画,使得依次从小变大,这样就形成了逐渐外扩的动画效果
(一)中间圆
绘制中间的圆
.logo {
    width: 80px;
    height: 80px;
    background: #7EC4FC;
    color: #fff;
    text-align: center;
    line-height: 80px;
    border-radius: 50%;
    position: absolute;
    top: 310px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 9;
}
 
(二)水波纹最大的圆
绘制水波纹最大可扩大的圆的大小
.animate-wave {
    width: 500px;
    height: 500px;
    position: absolute;
    top: 100px;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #C3E4FF;
    border-radius: 50%;
}
 
要实现4个个依次扩大的水波纹效果
<div class="animate-wave">
<div class="w1"></div>
<div class="w2"></div>
<div class="w3"></div>
<div class="w4"></div>
</div>
(三)水波纹动画
设置动画,0%的时候是宽高为0,逐渐增大,100%时候增大到最大,依次添加动画延迟,这样就有水波纹的效果了
@-webkit-keyframes opac {
    from {
        opacity: 1;
        width: 0;
        height: 0;
        top: 50%;
        left: 50%;
    }
    to {
        opacity: 0;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }
}
.animate-wave * {
    background: #C3E4FF;
    position: absolute;
    border-radius: 50%;
    animation: opac 4s infinite;
}
.animate-wave .w2 {
    animation-delay: 1s;
}
.animate-wave .w3 {
    animation-delay: 2s;
}
.animate-wave .w4 {
    animation-delay: 3s;
}
(四)最终效果
图片实现水波纹
观察这个效果,是有从中间逐渐向外扩的效果 定义水波纹标签
<div class="w w5"></div>
<div class="w w4"></div>
<div class="w w3"></div>
<div class="w w2"></div>
<div class="w w1"></div>
<div class="w w0"></div>
 
(一)初始圆
.w{
    position: absolute;
    top: calc((100% - 50px)/2);
    left: calc((100% - 50px)/2);
    width: 50px;
    height: 50px;
    border-radius: 500px;
    background: url('../img/2.jpg') fixed center center;
}
 
效果
(二)水波纹
div盒子的class设置为“w0-5”,给它样式设置设置图像的z-index属性;再给background-size属性指定背景图像的大小;动画animation绑定到一个<div>元素,只要把六个div叠在一起,搭配CSS的animation,就可以让六个div依序出现
.w0{
    z-index: 2;
    background-size: auto 106%;
    animation: w 1s forwards;
}
.w1{
    z-index: 3;
    background-size: auto 102%;
    animation: w 1s .2s forwards;
}
.w2{
    z-index: 4;
    background-size: auto 104%;
    animation: w 1s .4s forwards;
}
.w3{
    z-index: 5;
    background-size: auto 101%;
    animation: w 1s .5s forwards;
}
.w4{
    z-index: 6;
    background-size: auto 102%;
    animation: w 1s .8s forwards;
}
.w5{
    z-index: 7;
    background-size: auto 100%;
    animation: w 1s 1s forwards;
}
 
(三)动画效果
通过@keyframes规则,创建动画是通过逐步改变0%是开头动画,100%是当动画完成
@keyframes w{
    0%{
        top: calc((100% - 50px)/2);
        left: calc((100% - 50px)/2);
        width: 50px;
        height: 50px;
    }
    100%{
        top: calc((100% - 500px)/2);
        left: calc((100% - 500px)/2);
        width: 500px;
        height: 500px;
    }
}
 
(四)最终效果
炫酷 css实现水波纹的更多相关文章
- css 实现水波纹,波浪动画效果
		
<div class="wave"> 水波纹效果 <div class="wave1"></div> <div cla ...
 - 炫酷 CSS 背景效果的 10 个代码片段
		
在现代网页设计中,大背景图设计非常流行.随着高清(现在是4K)显示器的出现,越来越多的网页设计师使用大背景图来填充屏幕. 因为这样可以造成很大的视觉冲击力,并有助于更好的传递所要表现的内容. 但是,如 ...
 - 炫酷CSS
		
<!DOCTYPE html><!--To change this license header, choose License Headers in Project Propert ...
 - css实现水波纹效果
		
1. HTML 代码: <div class="example"> <div class="dot"></div> < ...
 - 44、css实现水波纹效果
		
<div class="container"> <div class="wave"><span>50%</span&g ...
 - CSS 按钮水波纹特效
		
/* 按钮反馈之波纹 */ .ripple { position: relative; /* overflow:hidden */ 打开注释及效果不扩散在外 } .ripple:focus{ out ...
 - CSS 冲击波(水波纹)效果
		
<span style="font-size:18px;"><!DOCTYPE html> <html> <head> <me ...
 - 三角函数之美-水波纹载入LoadingView
		
一.前言 学习是要总结的.近期几天学习了画图相关的,可是使用的机会较少,如今又快要遗忘了,这次看了水波纹的绘制.认为十分有意思,还是 把实现的方法记录下来.技术无他,为手熟尔.还是要多练习,空淡误国, ...
 - 纯CSS炫酷的3D旋转
		
<html><head><meta charset="utf-8"><title>纯CSS炫酷的3D旋转</title> ...
 - css 滚动视差   之   水波纹效果
		
核心属性: background-attachment 这个属性就牛逼了, 它可以定义背景图片是相对视口固定, 还是随着视口滚动, 加上这个属性网页瞬间就从屌丝变成 高大上. 我们来看个例子: htm ...
 
随机推荐
- S2-032 CVE-2016-3081 远程代码执行
			
漏洞名称 CVE-2016-3081 S2-032 远程代码执行 利用条件 Struts 2.3.20 - Struts Struts 2.3.28 ( 2.3.20.3 和 2.3.24.3 除外) ...
 - 案例:用ajax 方法 解析xml
			
xml文件 <?xml version="1.0" encoding="utf-8"?> <studentlist> <stude ...
 - C 语言输出100至200之间的质数(素数)
			
题目描述 运行 C 程序,输出 100 至 200 之间的质数. 输入描述 无 输出描述 输出 100 至 200 之间的质数,每行输出一个质数,每个质数前面需要带有序号. 输出样例 解题思路 在&l ...
 - Linux音频采集和在国产化平台中遇到的坑(一)
			
Linux音频采集和在国产化平台中遇到的坑(一) 最近在做一个国产化平台的软件项目的开发,是基于国产芯片的银河麒麟系统.其中有一个重要模块,是采集和播放音频数据,播放不用多说了,采集的话,包括采集麦克 ...
 - Java 进阶P-8.13+P-8.14
			
格式化输入输出 Print Writer format("格式",...); printf("格式",...); print(各种基本类型); println( ...
 - 【HMS Core】一张图片带你玩转机器学习服务
			
1.介绍 总览 Cloud DB(云数据库)是一款端云协同的数据库产品,提供端云数据的协同管理.统一的数据模型和丰富的数据管理API接口等能力.在保证数据的可用性.可靠性.一致性,以及安全等特性基础 ...
 - Vue20 生命周期
			
转:https://blog.csdn.net/weixin_45791692/article/details/124045505 1 简介 Vue的生命周期就是vue实例从创建到销毁的全过程,也就是 ...
 - Vue 04 谷歌浏览器配置vue开发者工具
			
参考链接:https://blog.csdn.net/wswq2505655377/article/details/111476799 1 插件下载 由于国内打不开谷歌商店,直接从网盘下载 链接:ht ...
 - gitlabApi如何获取项目文件夹的commitId
			
在我们做配置管理系统和gitlab系统集成的时候,有一个常见的场景,就是要获取某个文件的commitId,来记录本次配置文件提交的版本.这个通过gitlabApi很容易实现: GET /proje ...
 - 2021级《JAVA语言程序设计》上机考试试题6
			
首先管理员页面 代码: <%@ page language="java" contentType="text/html; charset=UTF-8" p ...