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