css+js实现可调配置的鼠标跟随放大器效果代码

代码语言:html

所属分类:其他

代码描述:css+js实现可调配置的鼠标跟随放大器效果代码,可设置明暗主题色、放大倍数、放大文字、放大文字是否闪烁等效果。

代码标签: css js 调配置 鼠标 跟随 放大器

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

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

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


  
  
<style>
@import "normalize.css";

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

:root {
	--shimmer: color-mix(in lch, white, transparent 35%);
}

[data-theme=dark] { color-scheme: dark only; }
[data-theme=light] { color-scheme: light only; }

body {
	display: grid;
	place-items: center;
	min-height: 100vh;
	touch-action: none;
	font-family:  "SF Pro Text", "SF Pro Icons", "AOS Icons", "Helvetica Neue", Helvetica, Arial, sans-serif, system-ui;
}

body::before {
	--line: color-mix(in lch, canvasText 25%, transparent);
	--size: 40px;
	content: '';
	height: 100vh;
	width: 100vw;
	position: fixed;
	background: linear-gradient(
				90deg,
				var(--line) 1px,
				transparent 1px var(--size)
			)
			0 -5vmin / var(--size) var(--size),
		linear-gradient(var(--line) 1px, transparent 1px var(--size)) 0 -5vmin / var(
				--size
			) var(--size);
	-webkit-mask: linear-gradient(-15deg, transparent 60%, white);
	        mask: linear-gradient(-15deg, transparent 60%, white);
	top: 0;
	z-index: -1;
}

h1 {
	font-size: clamp(2.5rem, 4vw + 1rem, 8rem);
	font-weight: 600;
	grid-area: 1 / 1;
}

h1::-moz-selection {
	background: hsl(320 100% 50%);
}

h1::selection {
	background: hsl(320 100% 50%);
}

.filter {
	position: fixed;
	bottom: 100%;
	left: 100%;
}

:root:hover {
	--scale: 1;
}

@property --scale {
	initial-value: 0;
	syntax: '<number>';
	inherits: true;
}

.effect {
	width: calc(var(--size) * 1px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: hsl(210 80% 90% / 0.05);
	--blue: color-mix(in lch, canvas, hsl(210 10% 40%));
	border: 2px solid color-mix(in lch, canvasText, var(--blue) 60%);
  inset: unset;
  margin: 0;
	grid-area: 1 / 1;
	-webkit-backdrop-filter: url(#filter);
	        backdrop-filter: url(#filter);
	-webkit-backdrop-filter: url(#scribble--0);
	        backdrop-filter: url(#scribble--0);
	position: fixed;
	top: 0%;
	left: 0%;
  translate:
    calc((var(--x) * 1px) - 50%)
		calc((var(--y) * 1px) - 65%);
	transform: scale(var(--scale, 0));
	pointer-events: none;
	box-shadow:
    0px 4px 16px rgba(17,17,26,0.1),
    0px 8px 24px rgba(17,17,26,0.1),
    0px 16px 56px rgba(17,17,26,0..........完整代码请登录后点击上方下载按钮下载查看

网友评论0