【发布时间】:2014-03-21 11:53:47
【问题描述】:
我从几个小时就开始尝试它,但我没有得到任何有效的解决方案。任务是:创建一个具有动态宽度和居中标签的进度条,在进度和未进度部分之间更改其文本颜色。这是一张图片以供澄清:
如果我知道整个进度条的宽度,这很有效。但它不适用于响应式设计,因为它的宽度是自动计算的。
这是我的代码:
<div class="progress" style="width: 400px;">
<div class="progressValue" style="width: 50%">
<div class="progressInnerLabel" style="width: 400px;">I'm a progress text</div>
</div>
<div class="progressLabel">I'm a progress text</div>
</div>
还有我的 CSS:
.progress {
position: relative;
}
.progressValue {
overflow: hidden;
position: absolute;
height: 20px;
background-color: blue;
}
.progressInnerLabel {
position: absolute;
text-align: center;
color: white;
height: 20px;
}
.progressLabel {
background-color: #eee;
text-align: center;
color: black;
}
我还创建了一个小提琴,所以你可以玩弄它:http://jsfiddle.net/Q82kF/2/
我想删除我的 html 的第一个 div(class= 进度)的宽度:400px,因此进度会自动获得完整的可用宽度。有人对此有解决方案吗?
我不想用 javascript(或任何库)来做。我认为必须有一个仅 CSS/HTML 的解决方案。
【问题讨论】:
-
这是一篇关于这个主题的好文章:css-tricks.com/html5-progress-element。
-
@onalbi:不,它不是重复的。那里提供的解决方案很有效,因为文本没有居中。使用居中文本,解决方案不起作用(您需要将内部容器的宽度与外部容器同步)。