自定义el-slider 滑块的样式

最近用到了element组件中的滑块,翻看了官网和网上一些案例,感觉和我要的样式都不太一样,下面记录一下我用到的两种自定义滑块。

效果图

第一种自定义画过的间断点样式

起始样式

image.png

滑动的样式

image.png

第二种自定义拖动滑块的样式

起始样式

image.png

滑动的样式

image.png

自定义画过的间断点样式的实现

<template><div class="d-flex align-items-start"><div class="search-item-label" style="line-height: 38px;">公网带宽</div><div class="d-flex align-items-center"><el-sliderclass="ml-1 mr-4":class="{'activeSlider0' : state.netBrandWidth > 0,'activeSlider1' : state.netBrandWidth > 50, 'activeSlider2' : state.netBrandWidth > 100, 'activeSlider3' : state.netBrandWidth > 150, 'activeSlider4' : state.netBrandWidth > 200}" // 滑动到不同位置时添加不同的classname,来定义滑动过后的样式v-model="state.netBrandWidth":min="0":max="200":marks="netBrandWidthMarks"  // 标记:format-tooltip="netBrandWidthFormatterTooltip" // 滑动快hover时上方显示文字style="width: 416px"></el-slider></div></div>
</template>
<script setup>
import { reactive, ref } from 'vue'
const state = reactive({netBrandWidth: 1
})
const netBrandWidthMarks = ref({ // 标记0: '0M',50: '50M',100: '100M',150: '150M',200: '200M'
})
// 公网带宽
const netBrandWidthFormatterTooltip = (value) => { // 滑动快hover时上方显示文字return value > 0 ? `${ value }Mbps` : '无公网'
}
</script>
<style scoped lang="scss">
.el-slider__runway{ // 滑块的进度条颜色background-color: #F2F3F7;
}
.el-slider__stop { // 进度条上间断点的样式width: 10px;height: 10px;top: -2px;background: #FFFFFF;border: 1px dotted #4C66CE;box-sizing: border-box;
}.el-slider__button { // 拖动的滑块的样式width: 16px;height: 16px;background-color: #FFFFFF;box-shadow: 0px 0px 4px 0px rgba(64,83,159,0.73);border: 3px solid #4C66CE;
}
.el-slider__marks-text{ // 底部标记的样式font-size: 12px;color: #999999;
}
.activeSlider0 .el-slider__runway{ // 滑动到不同位置时添加不同的classname,来定义滑动过后的样式.el-slider__stop:first-child{ // 间断点样式background-color: #4C66CE;}
}
.activeSlider1 .el-slider__runway{.el-slider__stop:first-child,.el-slider__stop:nth-child(2){background-color: #4C66CE;}
}
.activeSlider2 .el-slider__runway{.el-slider__stop:first-child,.el-slider__stop:nth-child(2),.el-slider__stop:nth-child(3){background-color: #4C66CE;}
}
.activeSlider3 .el-slider__runway{.el-slider__stop:first-child,.el-slider__stop:nth-child(2),.el-slider__stop:nth-child(3),.el-slider__stop:nth-child(4){background-color: #4C66CE;}
}
.activeSlider4 .el-slider__runway{.el-slider__stop:first-child,.el-slider__stop:nth-child(2),.el-slider__stop:nth-child(3),.el-slider__stop:nth-child(4),.el-slider__stop:nth-child(5){background-color: #4C66CE;}
}
</style>

自定义拖动滑块样式的实现

<template><div class="d-flex align-items-start"><div class="search-item-label" style="line-height: 38px;">公网带宽</div><div class="d-flex align-items-center"><el-sliderclass="ml-1 mr-4"v-model="state.netBrandWidth":min="0":max="200":marks="netBrandWidthMarks"  // 标记:format-tooltip="netBrandWidthFormatterTooltip" // 滑动快hover时上方显示文字style="width: 416px"></el-slider></div></div>
</template>
<script setup>
import { reactive, ref } from 'vue'
const state = reactive({netBrandWidth: 1
})
const netBrandWidthMarks = ref({ // 标记0: '0M',50: '50M',100: '100M',150: '150M',200: '200M'
})
// 公网带宽
const netBrandWidthFormatterTooltip = (value) => { // 滑动快hover时上方显示文字return value > 0 ? `${ value }Mbps` : '无公网'
}
</script>
<style scoped lang="scss">
.el-slider__stop { // 进度条上间断点的样式border: 1px solid var(--el-color-primary);box-sizing: border-box;
}.el-slider__button { // 拖动的滑块的样式width: 16px;height: 22px;border: 1px solid var(--el-color-primary);border-radius: 1px;position: relative;left: 4px;
}.el-slider__button:before { content: '';display: block;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);width: 3px;height: 6px;background: transparent;box-shadow: -3px 0 0 -1px var(--el-color-primary), 3px 0 0 -1px var(--el-color-primary);
}.el-slider__button:after {content: '';display: block;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);width: 1px;height: 7px;background: var(--el-color-primary);z-index: 999;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【pandas使用技巧】如何用pandas拼接excel的多个sheet

加入excel文件有多个sheet&#xff0c;同时sheet的表头都一致&#xff0c;可使用pandas库中的concat()方法将多个sheet拼接成一个DataFrame&#xff0c;栗子如下&#xff1a; import pandas as pd# 读取Excel文件中的所有sheet file_path example.xlsx dfs pd.read_excel(fi…

【递归、搜索与回溯算法练习】day2

文章目录 一、24. 两两交换链表中的节点1.题目简介2.解题思路3.代码4.运行结果 二、50. Pow(x, n)1.题目简介2.解题思路3.代码4.运行结果 三、2331. 计算布尔二叉树的值1.题目简介2.解题思路3.代码4.运行结果 总结 一、24. 两两交换链表中的节点 1.题目简介 24. 两两交换链表…

119、Spring容器启动流程是怎样的(配有Spring启动完整流程图)

Spring容器启动流程是怎样的 在创建Spring容器&#xff0c;也就是启动Spring时&#xff1a;首先会进行扫描&#xff0c;扫描得到所有的BeanDefinition对象&#xff0c;并存在一个Map中然后筛选出非懒加载的单例BeanDefinition进行创建Bean&#xff0c;对于多例Bean不需要在启动…

(13) Qt事件系统(two)

目录 事件分发函数 无边框窗口拖动 自定义事件 发送事件的函数 自定义事件 系统定义的事件号 自定义事件号 自定义事件类 发送和处理事件 sendEvent与postEvent的区别 栈区对象 堆区对象 事件传播机制 事件传播的过程 事件传播到父组件 鼠标单击事件与按钮单击信…

若依框架 - 对二次封装数据分页

LsDistrictController /*** 查询地段列表*/ApiOperation("查询地段列表")GetMapping("/list")public TableDataInfo list(LsDistrict lsDistrict) {startPage();Map<String, List> map lsDistrictService.selectLsDistrictList(lsDistrict);if (Col…

express学习笔记5 - 自定义路由异常处理中间件

修改router/index.js&#xff0c;添加异常处理中间件 *** 自定义路由异常处理中间件* 注意两点&#xff1a;* 第一&#xff0c;方法的参数不能减少* 第二&#xff0c;方法的必须放在路由最后*/ router.use((err, req, res, next) > {console.log(err);const msg (err &…

webrtc 的TaskQueue() 任务队列

今天看下webrtc中的任务队列的实现 TaskQueue 定义 见文件&#xff1a;rtc_base\task_queue.h 具体实现 class RTC_LOCKABLE RTC_EXPORT TaskQueue {public:// TaskQueue priority levels. On some platforms these will map to thread// priorities, on others such as Ma…

数字电路(一)

1、例题 1、进行DA数模转换器选型时&#xff0c;一般要选择主要参数有&#xff08; A&#xff09;、转换精度和转换速度。 A、分辨率 B、输出电流 C、输出电阻 D、模拟开关 2、下图所示电路的逻辑功能为&#xff08; B&#xff09; A、与门 B、或门 C、与非门 D、或非门 分析该…

程序员面试IT技术岗的三大技巧

文章目录 技巧一&#xff1a;深入研究意向企业技巧二&#xff1a;准备常见的面试问题技巧三&#xff1a;总结经历的面试题 在找工作时&#xff0c;面试是每位程序员必须经历的一关。面对众多求职者竞争激烈的情况&#xff0c;我们需要结合自己的现状&#xff0c;针对意向企业做…

C语言每日一题

今天分享的是一道牛客网上面的题目&#xff0c;链接在下面 有序序列合并 这道题做法有很多&#xff0c;最简单的是合并一起&#xff0c;然后用排序就行了&#xff0c;今天将一个最高效的办法&#xff0c;思路是两个数组第一项进行比较&#xff0c;小的先输出&#xff0c;输出的…

python3GUI--我的翻译器By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.主界面2.段落翻译3.单词翻译 三&#xff0e;设计1.UI设计2.软件设计3.参考 四&#xff0e;总结 一&#xff0e;前言 很早之前写过一篇python3GUI–翻译器By:PyQt5&#xff08;附源码&#xff09; &#xff0c;但是发现相关引擎…

Java on VS Code 7 月更新|反编译器支持升级、代码补全性能提升、AI 相关更新及更多

作者&#xff1a;Nick Zhu 排版&#xff1a;Alan Wang 大家好&#xff0c;欢迎来到 Visual Studio Code for Java 的7月更新&#xff01;在这篇博客中&#xff0c;我们将为您提供有关反编译器支持的重要更新。此外&#xff0c;我们将分享更多最近代码补全性能提升的进展&#x…

【ChatGPT】基于WSL+Docker的ChatGPT PLUS共享服务部署

最近买了ChatGPT PLUS服务&#xff0c;想通过web服务将它共享给其他人使用&#xff0c;搜了一下目前GitHub上比较热门的服务有 ChatGPT-Next-Webchatgpt-web-share 其中chatgpt-web-share支持API和PLUS账号分享两种方式&#xff0c;且架构为PythonJSDocker&#xff0c;相对比…

【LeetCode】27. 移除元素

题目大概意思是剔除nums数组中出现的所有val值。可以用快慢双指针法来做。 快的指针在前面遍历找值不为val的元素的下标&#xff0c;慢的负责接收值不为val的元素&#xff0c;并及时更新数组。 class Solution {public int removeElement(int[] nums, int val) {//快慢指针法in…

【Liux下6818开发板(ARM)】实现简易相册

(꒪ꇴ꒪ ),hello我是祐言博客主页&#xff1a;C语言基础,Linux基础,软件配置领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff01;送给读者的一句鸡汤&#x1f914;&#xff1a;集中起来的意志可以击穿顽石!作者水平很有限&#xff0c;如果发现错误&#x…

uniapp文件下载

使用uniapp提供给我们的uni.downloadFile、uni.saveFile和uni.openDocument三个API就可以了 也很简单&#xff0c;直接贴一下代码&#xff0c;安修修改一下即可 <template><view><image tap"pdfDownLoad" style"width: 35rpx;height: 35rpx;&…

2、认识O(nlogn)的排序

归并排序 分两半,谁小拷贝谁 public class Test{public static void mergeSort(int[] arr) {if (arr == null || arr.length < 2) {return;}mergeSort(arr, 0, arr.length - 1);}public static void mergeSort(int[] arr, int l, int r) {if (l == r) {return;}int mid =…

第一百回 如何实现文件存储二

文章目录 知识回顾示例代码 我们在上一章回中介绍了" 如何实现文件存储"相关的内容&#xff0c;本章回中将继续介绍与此相关的内容.闲话休提&#xff0c;让我们一起Talk Flutter吧。 知识回顾 我们上一章回中介绍了实现文件存储的三个步骤&#xff0c;不过限于篇幅…

【3】Linux实现多进程、多线程

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、linux开发的方向二、Linux环境特点1、Linux环境介绍2、Linux环境基本构成三、同步与互斥1、Linux同步并发的方法(1)创建、终止、等待、分离线…

Golang之路---03 面向对象——结构体

结构体 结构体定义 在之前学过的数据类型中&#xff0c;数组与切片&#xff0c;只能存储同一类型的变量。若要存储多个类型的变量&#xff0c;就需要用到结构体&#xff0c;它是将多个任意类型的变量组合在一起的聚合数据类型。 每个变量都成为该结构体的成员变量。   可以理…