• 用原生input type=range 写一个滑块,兼容各大浏览器


    属性描述
    max设置或返回滑块控件最大值
    min设置或返回滑块控件最小值
    step设置或返回每次拖动滑块控件时的递增量
    value设置或返回滑块控件的value值
    defaultValue设置或返回滑块控件的默认值
    autofocus设置或返回滑块控件在页面加载后是否应自动获取焦点

    先看谷歌浏览器:

    览器

    用法很简单,如下所示:

    <input type="range" value="0">

    火狐浏览器:

    除了火狐的样式需要另外重写一套css,其他的基本不用。

    1. /* 火狐 内背景色 */
    2. input[type=range]::-moz-range-track {
    3. height: 4px;
    4. background: rgb(229, 229, 229);
    5. }
    6. /* 火狐 外背景色 */
    7. input[type=range]::-moz-range-progress {
    8. background: #767676;
    9. height: 4px;
    10. border-radius: 10px;
    11. }

     全部代码如下:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. <style>
    9. /* 隐藏range控件默认样式 */
    10. [type="range"] {
    11. -webkit-appearance: none;
    12. appearance: none;
    13. margin: 0;
    14. outline: 0;
    15. background-color: transparent;
    16. width: 500px;
    17. border-radius: 10px;
    18. }
    19. /* 火狐 内背景色 */
    20. input[type=range]::-moz-range-track {
    21. height: 4px;
    22. background: rgb(229, 229, 229);
    23. }
    24. /* 火狐 外背景色 */
    25. input[type=range]::-moz-range-progress {
    26. background: #767676;
    27. height: 4px;
    28. border-radius: 10px;
    29. }
    30. /* 定义range控件轨道的样式 */
    31. [type="range"]::-webkit-slider-runnable-track {
    32. height: 4px;
    33. background: rgb(229, 229, 229);
    34. }
    35. /* 定义range控件容器的样式 */
    36. [type="range" i]::-webkit-slider-container {
    37. height: 20px;
    38. overflow: hidden;
    39. }
    40. /* 定义range控件拇指的样式 */
    41. [type="range"]::-webkit-slider-thumb {
    42. -webkit-appearance: none;
    43. appearance: none;
    44. width: 20px;
    45. height: 20px;
    46. border-radius: 50%;
    47. background-color: #767676 !important;
    48. border: 1px solid transparent;
    49. margin-top: -8px;
    50. /* 使用border-image属性给拇指添加渐变边框 */
    51. border-image: linear-gradient(#767676, #767676) 0 fill / 8 20 8 0 / 0px 0px 0 2000px;
    52. }
    53. style>
    54. head>
    55. <body>
    56. <input type="range" min="0" max="100" value="50">
    57. body>
    58. html>

  • 相关阅读:
    Django + Taro 前后端分离项目实现企业微信登录
    分布式事务
    Grafana,Loki,Tempo,Prometheus,Agent搭建日志链路监控平台
    如何下载国外硕博论文?
    Java对象的相等判定问题与equals方法解析
    vmware中的linux虚拟机如何增加磁盘容量
    项目时间管理-架构真题(二十四)
    Edge官方鼠标手势
    模板方法模式
    在linux上登录oracle服务器,将库中表导出为dump文件
  • 原文地址:https://blog.csdn.net/qq_41646249/article/details/132887500