如何創建:范圍滑塊
學習如何使用 CSS 和 JavaScript 創建自定義范圍滑塊。
默認:
方塊:
圓點:
圖像:
值:創建范圍滑塊
第一步 - 添加 HTML:
<div class="slidecontainer"> <input type="range" min="1" max="100" value="50" class="slider" id="myRange"> </div>
第二步 - 添加 CSS:
.slidecontainer { width: 100%; /* 外部容器的寬度 */ } /* The slider itself */ .slider { -webkit-appearance: none; /* 覆蓋默認 CSS 樣式 */ appearance: none; width: 100%; /* 全寬 */ height: 25px; /* 指定的高度 */ background: #d3d3d3; /* 灰色背景 */ outline: none; /* 移除輪廓 */ opacity: 0.7; /* 設置透明度(用于鼠標懸停時的鼠標懸停效果) */ -webkit-transition: .2s; /* 0.2秒的過渡效果 */ transition: opacity .2s; } /* 鼠標懸停效果 */ .slider:hover { opacity: 1; /* 鼠標懸停時完全顯示 */ } /* 滑塊手柄(使用 -webkit-(Chrome、Opera、Safari、Edge)和 -moz-(Firefox)來覆蓋默認外觀) */ .slider::-webkit-slider-thumb { -webkit-appearance: none; /* 覆蓋默認外觀 */ appearance: none; width: 25px; /* 設置特定的滑塊手柄寬度 */ height: 25px; /* 滑塊手柄高度 */ background: #04AA6D; /* 綠色背景 */ cursor: pointer; /* 鼠標懸停時的光標 */ } .slider::-moz-range-thumb { width: 25px; /* 設置特定的滑塊手柄寬度 */ height: 25px; /* 滑塊手柄高度 */ background: #04AA6D; /* 綠色背景 */ cursor: pointer; /* 鼠標懸停時的光標 */ }
第三步 - 添加 JavaScript:
使用 JavaScript 創建動態范圍滑塊來顯示當前值:
var slider = document.getElementById("myRange"); var output = document.getElementById("demo"); output.innerHTML = slider.value; // 顯示默認的滑塊值 // 更新當前的滑塊值(每次拖動滑塊手柄時) slider.oninput = function() { output.innerHTML = this.value; }
圓形滑塊
要創建圓形滑塊手柄,請使用 border-radius
屬性。
提示:如果您想要不等的高度(本例中為 15 像素與 25 像素),請將滑塊的高度設置為與滑塊拇指不同的值:
實例
.slider { -webkit-appearance: none; width: 100%; height: 15px; border-radius: 5px; background: #d3d3d3; outline: none; opacity: 0.7; -webkit-transition: .2s; transition: opacity .2s; } .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 25px; height: 25px; border-radius: 50%; background: #04AA6D; cursor: pointer; } .slider::-moz-range-thumb { width: 25px; height: 25px; border-radius: 50%; background: #04AA6D; cursor: pointer; }
滑塊圖標/圖像
要創建一個帶有圖標/圖片的滑塊手柄,請使用 background
屬性并插入圖片 URL:
實例
.slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 23px; height: 24px; border: 0; background: url('contrasticon.png'); cursor: pointer; } .slider::-moz-range-thumb { width: 23px; height: 25px; border: 0; background: url('contrasticon.png'); cursor: pointer; }