css+js实现2d圆圈图标与3d视觉切换效果代码

代码语言:html

所属分类:布局界面

代码描述:css+js实现2d圆圈图标与3d视觉切换效果代码,图标排列在一个圆圈上旋转,可切换三维空间视角角度查看。

代码标签: css js 2d 圆圈 图标 3d 视觉 切换

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

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

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


  <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Anybody&family=Syne&display=swap" rel="stylesheet">
  
  
  
<style>
@layer base, demo, demosupport;

/* Register --angle. That way we can transition and animate it 😎 */
@property --angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: true;
}
/* Initial value for browsers that don’t support @property */
:root {
  --angle: 0deg;
}

/* Keyframes that animates the --angle value */
@keyframes adjust-angle {
  to {
    --angle: 360deg;
  }
}

/* Rotation animation */
:root {
  animation: adjust-angle linear 20s infinite;
}

/* The colored dots */
.dot {
  /* Spread the dots evenly over the circle.
	   We do this by dividing 360deg by the number of children.
       E.g. 360 degrees / 3 children = 120 degrees between each child element.	
	*/
  --offset-per-child: calc(360deg / (var(--nth-siblings) + 1));

  /* Each child will that offset into account, based its index.
	   E.g. - the 1st out of 3 children gets offset by 0 x 120deg = 0deg
	        - the 2nd out of 3 children gets offset by 1 x 120deg = 120deg
	        - the 3rd out of 3 children gets offset by 2 x 120deg = 240deg
	*/
  --angle-offset: calc(var(--nth-child) * var(--offset-per-child));

  /* Size it */
  display: block;
  width: var(--tracksize);
  aspect-ratio: 222/184;

  /* Center it */
  position: absolute;
  left: calc(50% - (var(--tracks.........完整代码请登录后点击上方下载按钮下载查看

网友评论0