javascript - 在div之外浮动文本?
问题描述
我正在尝试修改这个 W3Schools 示例:
function move() {
var elem = document.getElementById("myBar");
var width = 10;
var id = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
elem.innerHTML = width * 1 + '%';
}
}
}
#myProgress {
width: 100%;
background-color: #ddd;
}
#myBar {
width: 10%;
height: 30px;
background-color: #4CAF50;
text-align: center;
line-height: 30px;
color: white;
}
<h1>JavaScript Progress Bar</h1>
<div id="myProgress">
<div id="myBar">10%</div>
</div>
<br>
<button onclick="move()">Click Me</button>
(代码来自https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_progressbar_label_js)
这样进度条的文本(% 值)在条中居中,并保持居中,而不是让它与进度 div 一起“移动”。
如何让文本显示在 div 之外?
解决方案
您需要添加一个绝对元素(#center
),它具有相同的宽度(left: 0;right: 0;
拉伸到#myBar
大小)和行高(line-height: 30px
因此文本垂直对齐#myBar
)的背景栏(#myBar
),居中他的文本(text-aling: center
),然后改变内部文本作为进度条的宽度(#myProgress
)使用javascript()center.innerHTML = width * 1 + '%';
增加
<!DOCTYPE html>
<html>
<style>
#myProgress {
width: 100%;
background-color: #ddd;
}
#myBar {
width: 10%;
height: 30px;
background-color: #4CAF50;
text-align: center;
line-height: 30px;
color: white;
}
#center{
position:absolute;
left: 0;
right: 0;
text-align:center;
line-height: 30px;
}
</style>
<body>
<h1>JavaScript Progress Bar</h1>
<div id="myProgress">
<div id='center'>10%</div>
<div id="myBar"></div>
</div>
<br>
<button onclick="move()">Click Me</button>
<script>
function move() {
var elem = document.getElementById("myBar");
var center = document.getElementById("center");
var width = 10;
var id = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
center.innerHTML = width * 1 + '%';
}
}
}
</script>
</body>
</html>
推荐阅读
- pdf - 使用 ImageMagick 将 PNG 文件转换为 PDF 时出现粗糙的边缘
- c++ - filesystem::copy 函数速度的秘诀是什么?
- javascript - 限制图片上传数量 JavaScript
- java - gradle generate jar 有资源文件但运行 jar 导致 Invalid resource
- reactjs - 有没有可能使用从 Dropzone 上传的 ColorThief 来检测颜色?
- python - 如何从嵌套列表中找到包含较高值的列表并返回这些列表?
- java - 单例中的while循环而不是if块
- c++ - 我们可以删除静态内存中的链表中的节点吗?
- data-warehouse - 我可以有一个描述性属性很少的事实表吗
- java - 使用 Spark Java 的 GeoSpark 库