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

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

先看谷歌浏览器:

览器

用法很简单,如下所示:

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

火狐浏览器:

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

		/* 火狐 内背景色 */
		input[type=range]::-moz-range-track {
			height: 4px;
      background: rgb(229, 229, 229);
		}
		/* 火狐 外背景色 */
		input[type=range]::-moz-range-progress {
			background: #767676;
			height: 4px;    
			border-radius: 10px;
		}

 全部代码如下:

<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  
  <!-- 下面这段CSS代码定义了range控件的样式 -->
  <style>
    /* 隐藏range控件默认样式 */
    [type="range"] {
      -webkit-appearance: none;
      appearance: none;
      margin: 0;
      outline: 0;
      background-color: transparent;
      width: 500px;
			border-radius: 10px;
    }
		/* 火狐 内背景色 */
		input[type=range]::-moz-range-track {
			height: 4px;
      background: rgb(229, 229, 229);
		}
		/* 火狐 外背景色 */
		input[type=range]::-moz-range-progress {
			background: #767676;
			height: 4px;    
			border-radius: 10px;
		}

    /* 定义range控件轨道的样式 */
    [type="range"]::-webkit-slider-runnable-track {
      height: 4px;
      background: rgb(229, 229, 229);
    }
 
    /* 定义range控件容器的样式 */
    [type="range" i]::-webkit-slider-container {
      height: 20px;
      overflow: hidden;
    }
 
    /* 定义range控件拇指的样式 */
    [type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background-color: #767676 !important;
      border: 1px solid transparent;
      margin-top: -8px;
      /* 使用border-image属性给拇指添加渐变边框 */
      border-image: linear-gradient(#767676, #767676) 0 fill / 8 20 8 0 / 0px 0px 0 2000px;
    }
  </style>
</head>
 
<body>
  <!-- 在页面上添加一个range控件-->
  <input type="range" min="0" max="100" value="50">
 
</body>
 
</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT博客技术分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值