Индикатор выполнения в HTML / CSS - PullRequest
4 голосов
/ 26 февраля 2009
 dd { 
    /*position: relative; /* IE is dumb */
    display: block;                 
    float: left;     
    width: 500px; 
    height: 16px; 
    margin: 0 0 2px; 
    background: url("white3.gif"); 
 }

 dd div.blue { 
    /*position: relative; */
    background: url("blue.gif"); 
    height: 16px; 
    width: 75%; 
    text-align:right; 
    display:block;
 }

HTML:

<dd>
    <div class="blue" style="width:35%;"> 
</dd>

Это создает белую полосу и заполняет ее синим на 35%.

Теперь я хотел бы заполнить ЖЕ индикатор прогресса двумя разными значениями. Например, если значение A было 30%, а значение B было 40%, 70% столбца были бы заполнены, но процент каждого из них можно увидеть по разнице в цветах. Значения A и B могут быть в любом порядке на линейке, если я могу сказать, что есть две разные вещи и «видеть», сколько каждый принимает.

Есть предложения?

Спасибо.

Ответы [ 4 ]

12 голосов
/ 26 февраля 2009

Вы ищете что-то подобное?

CSS:

div.dd { 
   /*position: relative; /* IE is dumb */
    display: block;                 
    float: left;     
    width: 500px; 
    height: 16px; 
    margin: 0 0 2px; 
    background: #fff; 
}

div.dd div.blue { 
    /*position: relative; */
    background: #00f; 
    height: 16px; 
    width: 75%; 
    text-align:right; 
    display:block;
    float: left;
}
div.dd div.red { 
    /*position: relative; */
    background: #f00; 
    height: 16px; 
    width: 75%; 
    text-align:right; 
    display:block;
    float: left;
}

HTML:

<div class="dd">
    <div class="blue" style="width:35%;"></div>
    <div class="red" style="width:10%;"></div>
</div>

Я не уверен, почему вы используете тег dd (для меня этот тег заставляет div отображаться ниже тега dd, а не внутри).

0 голосов
/ 12 ноября 2016
<div class="progressbar">
   <div class="inner1" style="width: 30%; background-color: blue;"><b>Value A</b></div>
   <div class="inner2" style="width: 40%; background-color: red;"><b>Value B</b></div>
</div>

Тогда CSS:

.progressbar {
   background-color: #1e1e1e;
   color: white;
   height: 25px;
   width: 115px;
}
.inner1, .inner2 {
   height: 100%;
   /* Change width with javascript */
}

Если вам просто нужно одно значение в индикаторе выполнения, здесь есть учебник .

0 голосов
/ 18 января 2013
<div style="height: 5px; background-color: green; width: 100%;">
    <div id="progress_bar" style="height: 5px; background-color: red; width: 10%;"></div>
</div>  

И после этого:

$('#progress_bar').css('width', '30%');
0 голосов
/ 26 февраля 2009

Я предлагаю наложить на него еще одну полосу и сместить ее влево / вправо, если необходимо.

Если бары не должны растягивать длину области просмотра, вы можете поместить их в div с переполнением: скрытым, чтобы сохранить иллюзию неповрежденной.

Edit:

Я просто понял, почему я хотел сделать это таким образом, а не следовать тому, что вы начали. Когда я делал что-то подобное раньше, он использовал изображения, когда изменение ширины, конечно, исказило накладываемое изображение.

Только с простыми цветами, я уверен, что вы могли бы обойтись только с использованием размера. Но я бы все же использовал CSS для наложения одного поверх другого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...