div+css实现扑克卡片堆叠悬浮放大弹出效果代码
代码语言:html
所属分类:悬停
代码描述:div+css实现扑克卡片堆叠悬浮放大弹出效果代码
代码标签: div css 扑克 卡片 堆叠 悬浮 放大 弹出
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> *, *::before, *::after { font-family: inherit; box-sizing: inherit; margin: 0; padding: 0; } html { box-sizing: border-box; font-family: 'Nunito Sans', sans-serif; font-size: 62.5%; } html body { font-size: 1.6rem; margin: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; } ul { list-style: none; } a, a:link, a:visited { text-decoration: none; } </style> <style> body { background-image: linear-gradient(160deg, #777, #222); } .hands { --cards: 9; --curvature: 70deg; counter-reset: cards; position: absolute; bottom: 0; width: 100%; display: flex; justify-content: center; transform: translateY(15vmin); transform-style: preserve-3d; } .hands > * { --hue: calc(360deg / var(--cards) * var(--index)); --curve: calc(var(--curvature) * ((var(--index) - (var(--cards) - 1) / 2) / var(--cards))); position: absolute; counter-increment: cards; flex: 0 0 auto; width: 15vw; max-width: 20vh; aspect-ratio: 2/3; transform-origin: 50% 100%; transform: rotate(var(--curve)) translateY(-225%); transition: all 0.3s; position: absolute; cursor: pointer; font-size: 11vmin; transform-style: preserve-3d; } .hands > *::before { content: counter(cards); display: flex; align-items: center; justify-content: center; position: absolute; color: hsl(var(--hue), 50%, 30%); font-weight: bold; width: 100%; height: 100%; border: solid 2px hsla(var(--hue), 50%, 40%, 1); background-image: linear-gradient(to bottom right, hsl(var(--hue), 50%, 66%), hsl(calc(var(--hue) - 45deg), 40%, 50%)); transition: all 0.3s, translate 0s; box-shadow: 0px 4px 10px hsla(var(--hue), 80%, 80%, 0); border-radius: 4px; text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.2); pointer-events: none; } .hands > *:hover { -webkit-animation: hover 1s ease-in-out infinite alternate forwards; animation: hover 1s ease-in-out infinite alternate forwards; } .hands > *:hover::before { transform: translateY(-42.5%) rotate(calc(var(--curve) * -1)) scale(1.2); transition-duration: 0.2s, 0s; box-shadow: 0px 4px 15px hsla(var(--hue), 80%, 70%, 0.6); border: solid 2px hsla(var(--hue), 80%, 70%, 1); color: hsl(var(--hue), 60%, 80%); translate: 0px 0px 1px; } .hands:has(li:nth-child(1)) { --cards: 1; } .hands > *:nth-child(1) { --index: 0; } .hands:has(li:nth-child(2)) { --cards: 2; } .hands > *:nth-child(2) { --index: 1; } .hands:has(li:nth-child(3)) { --cards: 3; } .hands > *:nth-child(3) { --index: 2; } .hands:has(li:nth-child(4)) { --cards: 4; } .hands > *:nth-child(4) { --index: 3; } .hands:has(li:nth-child(5)) { --cards: 5; } .hands > *:nth-child(5) { --index: 4; } .hands:has(li:nth-child(6)) { --cards: 6; } .hands > *.........完整代码请登录后点击上方下载按钮下载查看
网友评论0