nouislider 手柄超过了它的杆长
nouislider handle passes its bar length
我在我的项目中使用 nouislider,它运行良好。但是,当您更改 handle
宽度时,滑块似乎不会重新计算步长。
实例:
var slider = document.getElementById('slider')
noUiSlider.create(slider, {
start: [0],
range: {
min: 0,
max: 4
},
step: 1
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/14.0.2/nouislider.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/14.0.2/nouislider.min.css">
<style>
/* custom styles */
.noUi-tooltip {
border: 0;
border-radius: 0;
background: none;
color: inherit;
}
.noUi-target {
height: 2px;
border: 0;
box-shadow: unset;
background: #e6e6e6;
}
.noUi-horizontal .noUi-handle {
width: 200px;
height: 10px;
}
.noUi-handle {
background-color: red;
border-radius: 0;
box-shadow: unset;
border: 0;
right: -100px;
}
.noUi-handle:after,
.noUi-handle:before {
content: unset;
}
</style>
<div id="container">
<div id="slider"></div>
</div>
还有fiddle.
如您所见,handle
溢出 "bar lenght"。
文档中说:
Responsive design friendly
有没有办法让它自动重新计算handle
位置?或者我必须使用媒体查询或添加额外的 JS 逻辑才能工作?
谢谢
类似问题 - For NoUiSlider, how do I set the width of a handle/thumb?
更新:
.noUi-origin
- The elements connected to the base, defining the handle locations.
根据 handle
的位置,该元素获得 transform: translate(-1000%, 0px)
的动态值。也许应该在 class?
上添加一些额外的 JS
手柄可以是任意宽度,不受滑块宽度的限制。您可以通过在 .noUi-target
上设置 padding
来实现您想要的效果。文档 here.
中提到了这一点
.noUi-target {
padding: 0 17px;
}
.noUi-connects {
margin: 0 -17px;
width: calc(100% + 34px);
}
我在我的项目中使用 nouislider,它运行良好。但是,当您更改 handle
宽度时,滑块似乎不会重新计算步长。
实例:
var slider = document.getElementById('slider')
noUiSlider.create(slider, {
start: [0],
range: {
min: 0,
max: 4
},
step: 1
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/14.0.2/nouislider.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/14.0.2/nouislider.min.css">
<style>
/* custom styles */
.noUi-tooltip {
border: 0;
border-radius: 0;
background: none;
color: inherit;
}
.noUi-target {
height: 2px;
border: 0;
box-shadow: unset;
background: #e6e6e6;
}
.noUi-horizontal .noUi-handle {
width: 200px;
height: 10px;
}
.noUi-handle {
background-color: red;
border-radius: 0;
box-shadow: unset;
border: 0;
right: -100px;
}
.noUi-handle:after,
.noUi-handle:before {
content: unset;
}
</style>
<div id="container">
<div id="slider"></div>
</div>
还有fiddle.
如您所见,handle
溢出 "bar lenght"。
文档中说:
Responsive design friendly
有没有办法让它自动重新计算handle
位置?或者我必须使用媒体查询或添加额外的 JS 逻辑才能工作?
谢谢
类似问题 - For NoUiSlider, how do I set the width of a handle/thumb?
更新:
.noUi-origin
- The elements connected to the base, defining the handle locations.
根据 handle
的位置,该元素获得 transform: translate(-1000%, 0px)
的动态值。也许应该在 class?
手柄可以是任意宽度,不受滑块宽度的限制。您可以通过在 .noUi-target
上设置 padding
来实现您想要的效果。文档 here.
.noUi-target {
padding: 0 17px;
}
.noUi-connects {
margin: 0 -17px;
width: calc(100% + 34px);
}