knobs实现自定义range拖动块效果代码
代码语言:html
所属分类:选择器
代码描述:knobs实现自定义range拖动块效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { height: 100vh; display: grid; place-content: center; place-items: center; gap: 10%; } a { position: fixed; top: 1em; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); display: inline-block; width: 200px; } a > img { display: inherit; width: 100%; } .controller { display: -webkit-box; display: flex; width: 90vw; border-bottom: 1px solid #DDD; padding: 2em 0; } .controller .range { width: 100%; min-width: 100px; } .controller label { -webkit-box-flex: 1; flex: 1; } .controller label:not(:last-child) { padding-right: 1em; } .controller label > span { display: block; margin-bottom: 1em; } body > label > xmp { text-align: center; } body > label > span { margin-left: 1em; } .range { width: 50vw; min-width: 200px; } .range { --primaryColor: #0366D6; --value-active-color: white; --value-background: white; --value-font: 700 12px/1 Arial; --progress-color: #EEE; --progress-shadow: 2px 2px 4px rgba(0,0,0, .1) inset; --fill-color: var(--primaryColor); --thumb-size: 16px; --track-height: calc(var(--thumb-size)/2); --thumb-shadow: 0 0 3px rgba(0,0,0,.2); --ticks-thickness: 1px; --ticks-height: 5px; --ticks-color: silver; --step: 1; --ticks-count: (var(--max) - var(--min)) / var(--step); --maxTicksAllowed: 30; --too-many-ticks: Min(1, Max(var(--ticks-count) - var(--maxTicksAllowed), 0)); --x-step: Max( var(--step), var(--too-many-ticks) * (var(--max) - var(--min)) ); --tickInterval: 100/((var(--max) - var(--min)) / var(--step)) * var(--tickEvery, 1); --tickIntervalPerc: calc((100% - var(--thumb-size))/( (var(--max) - var(--min)) / var(--x-step) ) * var(--tickEvery, 1)); --completed: calc((var(--value) - var(--min) ) / (var(--max.........完整代码请登录后点击上方下载按钮下载查看
网友评论0