Range进度条的那些事

文章介绍了如何使用自定义的form-range类来实现跨浏览器的一致样式和内置定制功能的范围输入。通过设置min和max属性,可以设定输入范围的最小值和最大值,而step属性则允许调整步长,提供更精细的控制。

Range

Use our custom range inputs for consistent cross-browser(浏览器通用的) styling and built-in customization(定制化)
  • class:form-range

<label for="range1" class="form-label">Example range</label>
<input type="range" class="form-range" id="range1">

Min and Max

设置min and max 把range设置最低为min 最大为max的格数,例如设置min为0,max为5,就会将range设置成6个格子供调控

  • 在input 设置属性min,max

<label for="customRange2" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="5" id="customRange2">
多此一举的内容,step

承接上文,如果你觉得一步一格太大了,也可以设置step,例如step=0.5,原本的6格现在就需要走10次

<label for="customRange2" class="form-label">Example range</label>
<input type="range" class="form-range" min="0" max="5" step="0.5" id="customRange2">
提供的引用内容中未提及使用 `range` 标签显示进度条的相关信息。不过在 HTML 里,通常使用 `<progress>` 标签或者 `<input type="range">` 来显示进度条。 ### 使用 `<progress>` 标签 `<progress>` 标签用于显示任务的完成进度,其基本语法如下: ```html <progress value="50" max="100"></progress> ``` 这里 `value` 属性代表当前的进度值,`max` 属性表示进度的最大值。下面是一个完整示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Progress Bar Example</title> </head> <body> <progress id="myProgress" value="30" max="100"></progress> <script> // 模拟进度更新 const progressBar = document.getElementById('myProgress'); let progress = 30; const interval = setInterval(() => { if (progress < 100) { progress++; progressBar.value = progress; } else { clearInterval(interval); } }, 100); </script> </body> </html> ``` ### 使用 `<input type="range">` `<input type="range">` 可创建一个滑块,也能当作进度条使用。示例如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Range Input as Progress Bar</title> <style> input[type="range"] { width: 300px; } </style> </head> <body> <input type="range" id="myRange" min="0" max="100" value="20"> <span id="rangeValue">20</span>% <script> const rangeInput = document.getElementById('myRange'); const rangeValue = document.getElementById('rangeValue'); rangeInput.addEventListener('input', () => { rangeValue.textContent = rangeInput.value; }); </script> </body> </html> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值