CSS3 click button circular progress tick effect implementation code

CSS3 click button circular progress tick effect implementation code

Article Directory 8. CSS3 Click button circular progress tick effect 8.1 Image preview 8.2 index.html code 8.3 style.css code


8. CSS3 click button circular progress tick effect

8.1 Image Preview

insert image description here
insert image description here

8.2 index.html code

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>CSS3 click button circular progress tick effect</title>
		<!--Icon Library-->
		<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css'>
		<!--Core style-->
		<link rel="stylesheet" href="css/style.css">
	</head>
	<body>
		<div class="background">
			<input type="checkbox" id="button">
			<label for="button" class="button"> Click the button<i class="fas fa-check"></i></label>
			<svg class="circle">
				<circle cx="32" cy="32" r="31">
			</svg>
		</div>
	</body>
</html>

8.3 style.css code

body {
	margin: 0;
	height: 100vh;
	width: 100vw;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	font-size: 14px;
}

.background {
	position: relative;
	background: linear-gradient(to top, #49b26e 0%, #57d895 100%);
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.25);
	width: 400px;
	height: 400px;
	color: white;
}

.background input {
	display: none;
}

.background .button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 260px;
	height: 60px;
	border: 2px solid white;
	border-radius: 30px;
	text-align: center;
	font-size: 20px;
	text-transform:uppercase;
	font-weight: bold;
	letter-spacing: 2px;
	transition: all 0.3s ease-in-out;
	cursor: pointer;
}

.background .button:hover {
	background-color: #37be77;
}

.background .button .fas {
	position: absolute;
	color: #4caf50;
	z-index: 2;
	opacity: 0;
}

.background .circle {
	position: absolute;
	width: 65px;
	height: 65px;
	fill: none;
	stroke: white;
	stroke-width: 2px;
	stroke-linecap: round;
	stroke-dasharray: 183 183;
	stroke-dashoffset: 183;
	opacity: 0;
	left: 0;
	bottom: 0;
	right: 0;
	top: 0;
	margin: auto;
	pointer-events: none;
	transform: rotate(-90deg);
}

.background input:checked~.button {
	animation: button 0.5s ease both, fill 0.5s ease-out 1.5s forwards;
}

.background input:checked~.button .fas {
	animation: check 0.5s ease-out 1.5s both;
}

.background input:checked~.circle {
	animation: circle 2s ease-out 0.5s both;
}

@keyframes button {
	0% {
		width: 260px;
		left: 70px;
		border-color: white;
		color: white;
	}

	50% {
		color: transparent;
	}

	100% {
		width: 60px;
		left: 170px;
		border-color: #45b078;
		background: transparent;
		color: transparent;
	}
}

@keyframes circle {
	0% {
		stroke-dashoffset: 183;
	}

	50% {
		stroke-dashoffset: 0;
		stroke-dasharray: 183;
		transform: rotate(-90deg) scale(1);
		opacity: 1;
	}

	90%,
	100% {
		stroke-dasharray: 500 500;
		transform: rotate(-90deg) scale(2);
		opacity: 0;
	}
}

@keyframes fill {
	0% {
		background: transparent;
		border-color: white;
	}

	100% {
		background: white;
	}
}

@keyframes check {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

This is the end of this article about the CSS3 click button circular progress tick effect. For more related CSS3 circular progress button content, please search 123WORDPRESS.COM’s previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

<<:  A simple method to be compatible with IE6's min-width and min-height

>>:  A detailed introduction to Linux system configuration (service control)

Recommend

JavaScript realizes the effect of mobile modal box

This article example shares the specific code of ...

Summary of MySQL foreign key constraints and table relationships

Table of contents Foreign Key How to determine ta...

Linux kernel device driver virtual file system notes

/******************** * Virtual File System VFS *...

Detailed steps to build an NFS file sharing server in Linux

Linux builds NFS server In order to achieve data ...

Vue.js front-end web page pop-up asynchronous behavior example analysis

Table of contents 1. Preface 2. Find two pop-up c...

JavaScript to dynamically load and delete tables

This article shares the specific code of JavaScri...

How to add, delete and modify columns in MySQL database

This article uses an example to describe how to a...

Detailed explanation of MySQL Truncate usage

Table of contents MySQL Truncate usage 1. Truncat...

Summary of 7 pitfalls when using react

Table of contents 1. Component bloat 2. Change th...

In-depth analysis of Flex layout in CSS3

The Flexbox layout module aims to provide a more ...

Illustration of the process of using FileZilla to connect to the FTP server

When I first started setting up an ftp server on ...

1 minute Vue implements right-click menu

Table of contents Rendering Install Code Implemen...

A simple tutorial on how to use the mysql log system

Table of contents Preface 1. Error log 2. Binary ...