css美化range实现飞机飞行滑竿滑块取值器代码
代码语言:html
所属分类:拖放
代码描述:css美化range实现飞机飞行滑竿滑块取值器代码
代码标签: css 美化 range 飞机 飞行 滑竿 滑块 取值器 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { min-height: 100vh; margin: 0; display: grid; place-items: center; background: #c2e5f9; } .flight-component { --w: min(700px, 90vw); width: var(--w); display: flex; align-items: center; justify-content: space-between; gap: 0.5em; font-family: Helvetica, Arial, sans-serif; font-weight: 200; font-size: 1.25rem; } /* Didn't nest this one, in case I wanted to use the input by itself without the div/span structure (in that case: add width!!) */ .flight-component input, input.flight { --bg: #6c6c84; --scale: clamp(1, calc(1 + 0.5 * sin(pi * var(--val) / 100)), 2); --shadow: clamp(0.15em, calc(1em * sin(pi * var(--val) / 100)), 1em); --opacity: clamp(0.2, calc(1 - sin(pi * var(--val) / 100)), 0.4); --color: rgb(0 0 0 / var(--opacity)); --primary: #f0f4fc; --secondary: #b55; --val: 0; --height: 3em; appearance: none; container-type: inline-size; flex: 1; height: var(--height); border: none; /* Firefox adds a default border */ border-radius: 10em; position: relative; background: radial-gradient(circle at 0.35em 50%, var(--bg) 0.35em, #0000 0) no-repeat, radial-gradient(circle at calc(100% - 0.35em) 50%, var(--bg) 0.35em, #0000 0) no-repeat, linear-gradient(#0000 45%, var(--bg) 0 55%, #0000 0) 50% 50% / 99% 100%, #f000; border: 0; /* the ::before and ::after won't work on Firefox for input range, so only use for decoration on the other browsers */ &::before { content: ""; width: calc(var(--val) * 1%); min-width: 0.5em; height: 100%; position: absolute; top: 0; left: 0; background: radial-gradient(circle at 0.35em 50%, #000 0.35em, #0000 0) no-repeat, linear-gradient(#0000 45%, #000 0 55%, #0000 0) 50% 50% / calc(100% - 1em) 100% no-repeat, #f000; } &::after { content: ""; width: 100%; height: 12em; position: absolute; top: 50%; left: 0; transform: translate(0, -50%); pointer-events: none; background: /* cloud 1 */ radial-gradient(3% 20% at 50% 20%, #fff 40%, #0000 0), radial-gradient(3% 20% at 52.5% 13%, #fff 40%, #0000 0), radial-gradient(2% 20% at 51% 10%, #fff 40%, #0000 0), radial-gradient(2.5% 20% at 51.5% 27%, #fff 50%, #0000 0), radial-gradient(2% 20% at 53% 23%, #fff 60%, #0000 0), radial-gradient(4% 40% at 55% 20%, #fff 40%, #0000 0), /* cloud 2 */ radial-gradient(3% 20% at 40% 80%, #fff 40%, #0000 0), radial-gradient(3% 20% at 42.5% 87%, #fff 40%, #0000 0), radial-gradient(2% 20% at 41% 90%, #fff 40%, #0000 0), radial-gradient(2.5% 20% at 41.5% 72%, #fff 50%, #0000 0), radial-gradient(2% 20% at 43% 73%, #fff 60%, #0000 0), radial-gradient(4% 40% at 40% 78%, #fff 40%, #0000 0); background-size: 300% 100%; background-position: calc(var(--val) * 1%) 0; -webkit-mask: linear-gradient(90deg, #0000, #0008 35% 65%, #0000); mask: linear-gradient(90deg, #0000, #0008 35% 65%, #0000); } /* track for Chrome and Safari (Firefox is ok) */ &::-webkit-slider-runnable-track { height: 100%; /* so the plane is above the clouds */ position: relative; z-index: 1; } /* Thumb for Chrome and Safari */ &::-webkit-slider-thumb { -webkit-appearance: none; /* Override default look */ appearance: none; transform: translateY(calc(-50% + var(--height) / 2)) scale(var(--scale)); width: 4em; aspect-ratio: 1; pointer-events: none; background: linear-gradient(var(--secondary) 0 0) 2% 50% / 13% 2.5% no-repeat, /* main frame */ conic-gradient(at -40% 50%, #0000 84.75deg, var(--primary) 85deg 95deg, #0000 95.25deg) 0 0 / 80% 100%, /* pilot */ radial-gradient(closest-side circle at calc(100% - 0.85em) 50%, #9cf 0.3em, #0000 0), radial-gradient(20% 10% at 80% 50%, var(--primary) 99%, #0000), /* tail */ conic-gradient(at 45% -45%, #0000 150deg, var(--secondary) 151deg 174deg, #0000 175deg) -50% 40% / 53% 20%, conic-gradient(at 45% 145%, #0000 5deg, var(--secondary) 6deg 29deg, #0000 30deg) -50% 60% / 53% 20%, /* wings */ conic-gradient(at 38% -45%, #0000 158deg, var(--secondary) 158.5deg 174deg, #0000 174.5deg) 0 0 / 100% 50%, conic-gradient(at 38% 145%, #0000 5deg, var(--secondary) 5.5deg 21deg, #0000 21.5deg) 0 100% / 100% 50%, /* engines */ radial-gradient(80% 50%, #000 99%, #0000) 51% 22% / 21% 11%, radial-gradie.........完整代码请登录后点击上方下载按钮下载查看
网友评论0