Element中利用el-slider制作字体大小设置滑块

 html 

 <div>字体大小设置</div>
      <div style="margin-top: 12px">
        <div> <span style="margin-right: 122px">小</span><span style="margin-right: 122px">中</span><span style="margin-right: 122px">大</span><span>特大</span>
        </div>
        <div class="slider-style">
          <el-slider
            v-model="value"
            :show-tooltip="false"
            :marks="marks">
          </el-slider>
        </div>
      </div>

 js

const value = ref(0)
const marks = ref({
  0: '',
  33: '',
  66: '',
  100: '',
})

css

<style>
.slider-style{
  width:420px;
  height: 1px;
  margin-left: 8px;
  margin-top: 3px;
}
.slider-style .el-slider__runway{
  height: 1px!important;
}
.slider-style .el-slider__bar{
  height: 1px!important;
  background-color:#E6E6E6;
}
.slider-style .el-slider__stop{
  height: 6px;
  margin-top: -6px;
  width:2px;
  border-radius: 0;
  background-color:#E4E7ED;
}
.slider-style .el-slider__marks-text{
  margin-top: 0;
}
.slider-style .el-slider__button{
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color:#fff;
  border:3px solid #0F64FF;
  transform: rotate(-46deg);
}
.slider-style .el-slider__button.hover, .el-slider__button:hover{
  transform: rotate(-46deg);
  width: 20px;
  height: 20px;
}
</style>

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用 HTML、CSS 和 JavaScript 实现一个类似 Element UI 的滑块组件。以下是一个简单的示例: HTML: ``` <div class="el-slider"> <div class="el-slider__bar"></div> <div class="el-slider__button"></div> </div> ``` CSS: ``` .el-slider { position: relative; height: 6px; width: 100%; background-color: #e5e5e5; } .el-slider__bar { position: absolute; top: 50%; transform: translateY(-50%); height: 2px; width: 100%; background-color: #409EFF; } .el-slider__button { position: absolute; top: 50%; left: 0; transform: translateY(-50%); height: 16px; width: 16px; border-radius: 50%; background-color: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); cursor: pointer; } ``` JavaScript: ``` const slider = document.querySelector('.el-slider'); const bar = slider.querySelector('.el-slider__bar'); const button = slider.querySelector('.el-slider__button'); let isDragging = false; function updateButtonPosition(percent) { button.style.left = `${percent}%`; } function updateBarWidth(percent) { bar.style.width = `${percent}%`; } function updateValue(percent) { const min = parseFloat(slider.getAttribute('data-min')) || 0; const max = parseFloat(slider.getAttribute('data-max')) || 100; const value = (max - min) * percent / 100 + min; slider.setAttribute('data-value', value); slider.dispatchEvent(new Event('input')); } function handleMouseDown(event) { isDragging = true; } function handleMouseMove(event) { if (isDragging) { const rect = slider.getBoundingClientRect(); const percent = Math.max(0, Math.min(100, (event.clientX - rect.left) / rect.width * 100)); updateButtonPosition(percent); updateBarWidth(percent); updateValue(percent); } } function handleMouseUp(event) { isDragging = false; } button.addEventListener('mousedown', handleMouseDown); document.addEventListener('mousemove', handleMouseMove); document.addEventListener('mouseup', handleMouseUp); ``` 以上代码实现了一个基本的滑块组件,可以拖动滑块按钮来改变其值,并且会触发 `input` 事件。需要注意的是,这里使用了 `data-min` 和 `data-max` 属性来设置滑块的最小值和最大值,使用了 `data-value` 属性来设置当前的值(通过 `input` 事件更新)。可以在 HTML 动态设置这些属性来初始化滑块组件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值