enter image description here
enter image description here
enter image description here
这是三张我用input和innerHTML在网站上显示数值的图片,但是当数值在不同的数字上时,数值不能保持在中间。
下面是代码:
const inputRange = document.querySelector("#inputRange");
const dotDisplay = document.querySelector(".dotDisplay-show"); inputRange.addEventListener("input", (e) => {
const V = inputRange.value;
console.log(V);
dotDisplay.innerHTML = V;
});
.underline{
position:absolute;
width:35px;
border-bottom:2px solid #000;
left:245px;
top:105px;
}
.dotDisplay {
color:#32608D;
position:absolute;
font-size: 20px;
font-weight: bold;
}
.dotDisplay-show{
left:255px;
top:80px;
}
<input type="range" min="0" max="200" step="1" value="0" id="inputRange">
<div class="underline"></div>
<div class="dotDisplay dotDisplay-show">--</div>
3条答案
按热度按时间gk7wooem1#
好吧,在回答你的问题与准备复制粘贴代码,我会解释你做错了什么,所以在未来它不会发生。
基本上,你有两个密切相关的元素:div 'underline'和div 'dotDisplay'。
如果它们是强相关的,你会自动地认为它们可能需要在一个容器中:
好吧,但这并不能解决问题。为了解决问题,我们还需要改变CSS,因为计数器的定位代码及其下划线将需要放置在容器样式上:
最后一件我们需要改变的事情是HTML中元素的顺序。在你的例子中,下划线元素在显示元素的上面一行,但是在屏幕中,下划线需要在下面。显然你可以用CSS来改变这一点,但是让我们简单地做一些事情:
现在你的代码是正确的。我想改变的其他事情是容器的位置,因为现在你使用的是绝对值,如果你正在考虑(你应该)响应式网站,这是一个不好的做法。
=)
uqdfh47h2#
您可以直接在显示数字的元素上添加边框,并使用一定量的填充。
olhwl3o23#
下面的解决方案将
margin-left
和margin-right
设置为auto
,以将35px<div>
和text-align: center
置于其中的数字中心。