svg+js实现鼠标交互倾斜立体文字卡片效果代码

代码语言:html

所属分类:其他

代码描述:svg+js实现鼠标交互倾斜立体文字卡片效果代码

代码标签: svg js 鼠标 交互 倾斜 立体 文字 卡片

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

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

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

  
  
  
<style>
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700;900&family=Space+Mono:wght@400;700&display=swap");

:root {
	--bg-color: #f1f1f1;
	--card-width: 300px;
	--card-height: 400px;
	--black: #080808;
	--white: #fafafa;
	--accent: #ff2d55;
	--grid-color: rgba(0, 0, 0, 0.08);
	--frame-color: rgba(8, 8, 8, 0.8);
	--transition-slow: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	--transition-fast: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
	background-color: var(--bg-color);
	padding: 5vw;
	min-height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	font-feature-settings: "salt" 1, "ss01" 1, "ss02" 1;
	color: var(--black);
}

.card-system {
	display: flex;
	flex-wrap: wrap;
	gap: 6vw;
	justify-content: center;
	max-width: 1200px;
}

.deconstructed-card {
	position: relative;
	width: var(--card-width);
	height: var(--card-height);
	cursor: pointer;
}

.card-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: transform var(--transition-slow), opacity var(--transition-slow);
}

.card-image {
	overflow: hidden;
	z-index: 1;
}

.wave-svg {
	width: 100%;
	height: 100%;
	transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.card-frame {
	z-index: 3;
	pointer-events: none;
}

.frame-path {
	fill: none;
	stroke: var(--frame-color);
	stroke-width: 1;
	stroke-dasharray: 1520;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.card-background {
	z-index: 0;
	background-color: var(--white);
}

.bg-grid {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.grid-line {
	position: absolute;
	background-color: var(--grid-color);
	transition: transform var(--transition-slow), opacity var(--transition-fast);
}

.grid-line.horizontal {
	width: 100%;
	height: 1px;
	transform: scaleX(0.3);
	transform-origin: left;
}

.grid-line.vertical {
	height: 100%;
	width: 1px;
	transform: scaleY(0.3);
	transform-origin: top;
}

.bg-objects {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.bg-object {
	position: absolute;
	opacity: 0.3;
	transition: transform var(--transition-slow), opacity var(--transition-slow);
}

.bg-object.circle {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.1);
	bottom: 40px;
	left: -30px;
	transform: translateY(20px);
}

.bg-object.square {
	width: 60px;
	height: 60px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	top: 40px;
	right: 30px;
	transform: rotate(45deg) translateY(-20px);
}

.bg-object.triangle {
	width: 0;
	height: 0;
	border-left.........完整代码请登录后点击上方下载按钮下载查看

网友评论0