html - 将垂直范围滑块与末端的按钮对齐
问题描述
我正在尝试创建一个缩放滑块,其中包含一个垂直范围滑块和两端的两个按钮,但无法将滑块与其末端的按钮水平对齐。
#zoomcontrol {
position: absolute;
top: 0;
right: 0;
width: 100px;
height: 500px;
background-color: yellow;
}
#zoomrange,
#minus,
#plus {
position: absolute;
left: 50%;
top: 0;
transform: translateX(-50%);
}
#zoomrange {
height: 150px;
position: relative;
top: 30px;
-webkit-appearance: slider-vertical;
}
#minus {
top: 180px;
}
#minus,
#plus {
background: white;
border-radius: 50%;
width: 25px;
height: 25px;
margin: 5px;
text-align: center;
line-height: 25px;
}
<div id="zoomcontrol">
<div id="plus">+</div>
<input type="range" min="1" max="100" value="50" class="slider" id="zoomrange" orient="vertical">
<div id="minus">-</div>
</div>
(另外,有人可以告诉我为什么减号按钮比加号按钮离滑块更远吗?)
解决方案
也许使用 flexbox 可以帮助绝对定位;
#zoomcontrol {
position: absolute;
right: 0;
display: flex;
flex-direction: column;
align-items: center;
width: 100px;
height: 500px;
background-color: yellow;
}
#zoomrange,
#minus,
#plus {}
#zoomrange {
height: 150px;
-webkit-appearance: slider-vertical;
}
#minus,
#plus {
background: white;
border-radius: 50%;
width: 25px;
height: 25px;
margin: 5px;
text-align: center;
line-height: 25px;
}
<div id="zoomcontrol">
<div id="plus">+</div>
<input type="range" min="1" max="100" value="50" class="slider" id="zoomrange" orient="vertical">
<div id="minus">-</div>
</div>
推荐阅读
- powershell - 在多个窗口中打开网站并使用 powershell 向下滚动它们
- oracle-apex - Oracle APEX:如何更改交互式网格中开关列的值(使用动态操作 - JavaScript)?
- vb.net - 暂停执行的线程,然后重新使用同一个线程
- php - 表单提交后Codeigniter 4错误404路由有问题
- xml - 我可以在 XML 中使用相同名称和相同值的属性吗?
- class - Flutter 中的单例析构函数
- sql - 在 SQL developer 和 SSIS ODBC 连接中定义、初始化和使用变量
- javascript - document.body.removeEventListener 不适用于删除按键事件的侦听器
- python - 如何逐行从文件中提取所需数据?
- python - 在 Python 中实现系列扩展的分析集成