react+gsap+Draggable实现拖动撕开贴纸显示背部文字效果代码

代码语言:html

所属分类:拖放

代码描述:react+gsap+Draggable实现拖动撕开贴纸显示背部文字效果代码

代码标签: react gsap Draggable 拖动 撕开 贴纸 显示 背部 文字 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  


<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/normalize.5.0.css">

  
  
<style>
*,
*:after,
*:before {
	box-sizing: border-box;
}

:root {
	--bg: hsl(0 0% 98%);
}

body {
	display: grid;
	place-items: center;
	min-height: 100vh;
	font-family:  "SF Pro Text", "SF Pro Icons", "AOS Icons", "Helvetica Neue", Helvetica, Arial, sans-serif, system-ui;
	overflow: hidden;
	background: var(--bg);
}

section {
	height: 100vh;
	display: grid;
	place-items: center;
	position: fixed;
	inset: 0;
}

.tear-strip:focus-within {
	outline: 10px solid hsl(0 0% 0% / 0.15);
}

.strip-adder {
	position: fixed;
	top: 2rem;
	right: 2rem;
	width: 48px;
	aspect-ratio: 1;
	z-index: 22;
	border-radius: 50%;
	border: 0;
	display: grid;
	place-items: center;
	padding: 0;
	background: hsl(0 0% 90% / var(--alpha, 0));
	transition: background 0.2s;
}

.strip-adder svg {
	width: 65%;
	color: hsl(0 0% 10% / var(--alpha, 0.5));
	transition: color 0.2s;
}

.strip-adder:is(:hover, :focus-visible) {
	--alpha: 1;
}

.reference {
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	translate: -50% -150%;
}

.tear-strip {
	font-size: 1.3rem;
	font-weight: bold;
	width: clamp(300px, 470px, 28vw);
	width: 340px;
	height: 78px;
	display: grid;
	place-items: center;
/*	translate: 0 -80%;*/
	position: relative;
	border: 4px dashed hsl(0 0% 91%);
	border-radius: 100px;
	background: linear-gradient(hsl(0 0% 91%), hsl(0 0% 91%)) padding-box;
	color: hsl(0, 0%, 70%);
}

.tear-strip__content {
	position: absolute;
	font-size: 1rem;
	text-align: right;
}

.tear-strip__strip {
	position: absolute;
	inset: 0;
	background: var(--bg);
	display: flex;
	border-radius: 100px;
	align-items: center;
	justify-content: center;
	-webkit-clip-path: inset(-100% 0 -100% 1px);
	        clip-path: inset(-100% 0 -100% 1px);
	color: hsl(0, 0%, 71%);
	font-weight: 500;
}

.tear-strip__shadow {
	position: absolute;
	height: 100%;
	width: 20px;
	background: linear-gradient(90deg, transparent, hsl(0 0% 10% / 0.5));
	filter: blur(8px);
	transform-origin: 100% 50%;
	left: 0;
	opacity: 0;
}

.tear-strip__back {
	position: absolute;
	height: 100%;
	width: 100%;
	border-radius: 100px;
	right: 100%;
}

.tear-strip__backing {
	background: linear-gradient(90deg, hsl(0 0% calc(var(--tab-darkness, 40) * 1%) / var(--bg-alpha, 1)), hsl(0 0% 100% / var(--bg-alpha, 1)), hsl(0 0% 80% / var(--bg-alpha, 1)));
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-color: hsl(0 0% 93%);
	background-size: calc(var(--bg-size, 0) * 1px) 100%;
	position: absolute;
	inset: 0;
	border-radius: 1000px;
}

.tear-strip__backing::before {
	content: "";
	position: absolute;
	inset: 0 -8px 0 0;
	filter: blur(4px);
	background: radial-gradient(hsl(0 0% 10% / 0.5), transparent 80%);
	border-radius: 1000px;
	z-index: -1;
	opacity: var(--shadow-reveal, 0);
}

.........完整代码请登录后点击上方下载按钮下载查看

网友评论0