Reputation: 13120
I have a series of progress bars each with name, I want them to be vertically aligned so that the progress bar starts at the same place on each line. I could use tables to do this, but what is the preferred way to do this.
<div><label for="pb0">Processing</label><progress id="pb0" value="0" max="200"></progress><br>
<label for="pb1">Songs loaded</label><progress id="pb1" value="0" max="200"></progress><br>
<label for="pb3">Songs ignored because already matched</label><progress id="pb3" value="0" max="200"></progress><br>
<label for="pb13">Songs updated from Naim metadata </label><progress id="pb13" value="0" max="200"></progress><br>
<label for="pb4">Songs matched to MusicBrainz release</label><progress id="pb4" value="0" max="200"></progress><br>
<label for="pb5">Songs matched to MusicBrainz song only</label><progress id="pb5" value="0" max="200"></progress><br>
<label for="pb14">Songs matched to Acoustid song only</label><progress id="pb14" value="0" max="200"></progress><br>
<label for="pb7">Songs matched with artwork</label><progress id="pb7" value="0" max="200"></progress><br>
<label for="pb17">Songs matched to AcousticBrainz</label><progress id="pb17" value="0" max="200"></progress><br>
<label for="pb8">Songs saved (if not preview)</label><progress id="pb8" value="0" max="200"></progress><br>
<label for="pb11">Completed</label><progress id="pb11" value="0" max="200"></progress><br>
<label for="pb12">Errors</label><progress id="pb12" value="0" max="200"></progress><br>
</div>
Upvotes: 0
Views: 89
Reputation: 1513
Use float:right
, and margin-right
to align with the position you want.
progress{
float: right;
margin-right: 50px;
}
<div>
<label for="pb0">Processing</label><progress id="pb0" value="0" max="200"></progress><br>
<label for="pb1">Songs loaded</label><progress id="pb1" value="0" max="200"></progress><br>
<label for="pb3">Songs ignored because already matched</label><progress id="pb3" value="0" max="200"></progress><br>
<label for="pb13">Songs updated from Naim metadata </label><progress id="pb13" value="0" max="200"></progress><br>
...
</div>
Or, you can work with your label:
label{
width: 100px;
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
<div>
<label for="pb0">Processing</label><progress id="pb0" value="0" max="200"></progress><br>
<label for="pb1">Songs loaded</label><progress id="pb1" value="0" max="200"></progress><br>
<label for="pb3">Songs ignored because already matched</label><progress id="pb3" value="0" max="200"></progress><br>
<label for="pb13">Songs updated from Naim metadata </label><progress id="pb13" value="0" max="200"></progress><br>
...
</div>
And, without cutting the text (just set one min-width for your label):
label{
width: 200px;
display: inline-block;
}
<div>
<label for="pb0">Processing</label><progress id="pb0" value="0" max="200"></progress><br>
<label for="pb1">Songs loaded</label><progress id="pb1" value="0" max="200"></progress><br>
<label for="pb3">Songs ignored because already matched</label><progress id="pb3" value="0" max="200"></progress><br>
<label for="pb13">Songs updated from Naim metadata </label><progress id="pb13" value="0" max="200"></progress><br>
...
</div>
Or, you can use display: flex
:
div{
display: flex;
width: 100%;
}
label, progress{
flex: 1;
}
<div>
<label for="pb0">Processing</label><progress id="pb0" value="0" max="200"></progress>
</div>
<div>
<label for="pb1">Songs loaded</label><progress id="pb1" value="0" max="200"></progress>
</div>
<div>
<label for="pb3">Songs ignored because already matched</label><progress id="pb3" value="0" max="200"></progress>
</div>
<div>
<label for="pb13">Songs updated from Naim metadata </label><progress id="pb13" value="0" max="200"></progress>
</div>
...
Upvotes: 2
Reputation: 598
You can assign width to label based on your need.
label{
width:50%;
display:inline-block;
}
<div><label for="pb0">Processing</label><progress id="pb0" value="0" max="200"></progress><br>
<label for="pb1">Songs loaded</label><progress id="pb1" value="0" max="200"></progress><br>
<label for="pb3">Songs ignored because already matched</label><progress id="pb3" value="0" max="200"></progress><br>
<label for="pb13">Songs updated from Naim metadata </label><progress id="pb13" value="0" max="200"></progress><br>
<label for="pb4">Songs matched to MusicBrainz release</label><progress id="pb4" value="0" max="200"></progress><br>
<label for="pb5">Songs matched to MusicBrainz song only</label><progress id="pb5" value="0" max="200"></progress><br>
<label for="pb14">Songs matched to Acoustid song only</label><progress id="pb14" value="0" max="200"></progress><br>
<label for="pb7">Songs matched with artwork</label><progress id="pb7" value="0" max="200"></progress><br>
<label for="pb17">Songs matched to AcousticBrainz</label><progress id="pb17" value="0" max="200"></progress><br>
<label for="pb8">Songs saved (if not preview)</label><progress id="pb8" value="0" max="200"></progress><br>
<label for="pb11">Completed</label><progress id="pb11" value="0" max="200"></progress><br>
<label for="pb12">Errors</label><progress id="pb12" value="0" max="200"></progress><br>
</div>
Upvotes: 0
Reputation: 105
You can rotate it:
Webkit: -webkit-transform: rotate(90deg);
FireFox: -moz-transform: rotate(90deg);
IE: filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
Upvotes: 0