js+css实现极坐标笛卡尔坐标改变数值效果代码

代码语言:html

所属分类:其他

代码描述:js+css实现极坐标笛卡尔坐标改变数值效果代码

代码标签: js css 极坐标 笛卡尔 坐标 变数值

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

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

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

  <link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Raleway&display=swap" rel="stylesheet">
  
  
  
<style>
@charset "UTF-8";
@property --houdini {
  syntax: "<integer>";
  initial-value: 1;
  inherits: true;
}
@property --x {
  syntax: "<integer>";
  initial-value: 0;
  inherits: true;
}
@property --y {
  syntax: "<integer>";
  initial-value: 0;
  inherits: true;
}
/* --------------- GENERAL --------------- */
* {
  box-sizing: inherit;
  margin: 0;
  border: none;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

html {
  --k: var(--js, 0);
  --not-k: calc(1 - var(--k));
}
html.js {
  --js: 1 ;
}

body {
  --s: var(--houdini, 0);
  --i: var(--narr, 1);
  --not-i: calc(1 - var(--i));
  --j: var(--wide, 1);
  --not-j: calc(1 - var(--j));
  --x: calc(var(--r)*var(--cos));
  --y: calc(var(--r)*var(--sin));
  --u: "";
  display: grid;
  grid-gap: 1vmin;
  grid-template-rows: max-content 1fr max-content;
  overflow-x: hidden;
  margin: 0;
  height: 100vh;
  font: 400 clamp(.875em, 6.25vw, 1.5em)/1.375 raleway, sans-serif;
}
@media (max-width: 575px) {
  body {
    --wide: 0 ;
  }
}
@media (min-width: 470px) {
  body {
    --narr: 0 ;
  }
}

form, pre {
  background: #100e17;
}

[for], pre {
  color: #fafafa;
}

pre, output {
  font-family: ubuntu mono, consolas, monaco, monospace;
}

text, var {
  font-style: italic;
  font-family: serif;
}

/* --------------- FORM --------------- */
.wrap {
  --focus: 0;
  --not-focus: calc(1 - var(--focus));
  --range: calc(var(--max) - var(--min));
  --track-w: clamp(4.5em, calc(100vw - 2*Min(4vw, 0.5em)), calc(var(--range)*1px + 1em));
  --pos: calc(0.5em + (var(--val) - var(--min))/var(--range)*(var(--track-w) - 1em));
  display: grid;
  justify-self: stretch;
  place-content: center;
  padding: 0.25em Min(4vw, 0.5em);
  filter: grayScale(var(--not-focus));
  counter-reset: n var(--n);
  transition: filter 0.3s;
}
.wrap--r {
  --c: #f60c61 ;
}
.wrap--a {
  --c: #ff6a00 ;
}
.wrap > * {
  align-self: center;
}
.wrap label {
  margin: 0 calc(var(--js)*var(--j)*1vw);
}
.wrap:focus-within {
  --focus: 1 ;
}

input[type=range] {
  display: var(--js, n.........完整代码请登录后点击上方下载按钮下载查看

网友评论0