div+css实现鼠标悬浮多个长方形变色渐变效果代码

代码语言:html

所属分类:悬停

代码描述:div+css实现鼠标悬浮多个长方形变色渐变效果代码

代码标签: div css 鼠标 悬浮 长方形 变色 渐变

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


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

<head>

 
<meta charset="UTF-8">

 
 
<style>
* {
 
margin: 0;
}

html
, body, div {
 
display: grid;
}

html
{
 
overflow: hidden;
 
height: 100%;
 
background: #000;
}

body
{
 
overflow: hidden;
}

.grid {
 
grid-template-columns: repeat(var(--n), max-content);
 
margin: 0 auto;
}

.cell {
 
--abs-i: max(var(--ki) - var(--i), var(--i) - var(--ki));
 
--abs-j: max(var(--kj) - var(--j), var(--j) - var(--kj));
 
--rel-i: calc(1 - var(--abs-i)/var(--n));
 
--rel-j: calc(1 - var(--abs-j)/var(--n));
 
--sum: calc(var(--rel-i)*var(--rel-i) + var(--rel-j)*var(--rel-j));
 
--sqr: var(--sum);
 
--bdw: calc(17.5vmin/var(--n));
 
box-sizing: border-box;
 
z-index: calc(var(--abs-i) + var(--abs-j));
 
border: solid var(--bdw) transparent;
 
width: calc(100vmin/var(--n));
 
border-radius: calc(var(--bdw) + 5px);
 
transform: scale(calc(1 + var(--sqr)*.25));
 
--hue: calc(180 + (1 - .5*var(--sqr))*150);
 
background: hsl(var(--hue, 150), 100%, 65%) content-box;
 
filter: drop-shadow(0 0 5px teal);
 
transition: 0.3s;
}
@supports (z-index: sqrt(4)) {
 
.cell {
   
--sqr: sqrt(var(--sum)) ;
 
}
}
</style>



</head>

<body >
 
<style>
   
  .cell:nth-child(8n + 1) { --i: 0 }
  .cell:nth-child(n + 1) { --j: 0 }
  .grid:has(.cell:nth-child(8n + 1):hover) { --ki: 0 }
  .grid:has(.cell:nth-child(n + 1):hover) { --kj: 0 }
   
  .cell:nth-child(8n + 2) { --i: 1 }
  .cell:nth-child(n + 9) { --j: 1 }
  .grid:has(.cell:nth-child(8n + 2):hover) { --ki: 1 }
  .grid:has(.cell:nth-child(n + 9):hover) { --kj: 1 }
   
  .cell:nth-child(8n + 3) { --i: 2 }
  .cell:nth-child(n + 17) { --j: 2 }
  .grid:has(.cell:nth-child(8n + 3):hover) { --ki: 2 }
  .grid:has(.cell:nth-child(n + 17):hover) { --kj: 2 }
   
  .cell:nth-child(8n + 4) { --i: 3 }
  .cell:nth-child(n + 25) { --j: 3 }
  .grid:has(.cell:nth-child(8n + 4):hover) { --ki: 3 }
  .grid:has(.cell:nth-child(n + 25):h.........完整代码请登录后点击上方下载按钮下载查看

网友评论0