js+css实现极坐标笛卡尔坐标改变数值效果代码
代码语言:html
所属分类:其他
代码描述: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