独自のプログレスバーを作成しましたが、いくつか問題が発生しました
width=90% の完全な .box があります
そのボックスには、幅= 100の.progress divがあります
.progress div で、.left-free div 10%、.progressbar 80%、.right-free 100% を得ました
.progressbar には、.grey 30%、.violet 30%、.brown 30%、.blank 0% の 4 つの div があります。
問題は、.grey、.violet、.brown が同じサイズでない理由がわからないことです!
編集:(.blank divは単なるスペーサーです..すべて問題ありません。)
マージンやパディング、または境界線は使用しません。.progressbar の周りの境界線は box-shadow で実現しました。
私のhtmlコード:
<div id="box">
<div id="progress">
<div class="left-free">10% free</div>
<div class="progressbar">
<div class="grey" style="width:30%">30%</div>
<div class="violet" style="width:30%">30%</div>
<div class="brown" style="width:30%">30%</div>
<div class="blank" style="width:0%">0%</div>
</div>
<div class="right-free">10% free</div>
</div>
</div>
私のCSSコード:
body
{
width:100%;
background-color:#eee;
padding:0;
margin:0 auto;
}
#box
{
width:90%;
padding:0;
margin:2% auto;
background-color:#eee;
}
#progress
{
width:100%;
padding:0;
margin-bottom:10%;
}
.left-free
{
width:10%;
float:left;
box-shadow: inset -1px 0px 0px rgba(0, 0, 0, 1); /* right */
}
.progressbar
{
position:relative;
width:80%;
float:left;
background-color:#ffffff;
box-shadow: inset 0px 1px 0px rgba(0, 0, 0, 1), /* top */
inset 0px -1px 0px rgba(0, 0, 0, 1); /* bottom */
}
.grey {background-color:grey;}
.violet {background-color:violet;}
.brown {background-color:brown;}
.blank {background-color:#ffffff;}
.grey,
.violet,
.brown,
.blank
{
height:100px;
float:left;
margin-top:1px;
}
.left-free,
.progressbar,
.right-free
{
height:102px;
}
.right-free
{
width:10%;
float:left;
box-shadow: inset 1px 0px 0px rgba(0, 0, 0, 1); /* border left */
text-align:right;
}
スクリーンショットを作成し、3 つのボックスすべてに同じ幅の緑色のバーを配置しました。.violet と .brown div では、右端にスペーサーがあります (画像で確認できることを願っています)
これは見やすいように切り取ったものです
jsfiddleで実行中のコードを確認できます
2 番目の例: jsfiddle 2
ボックスのサイズが同じでない理由はありますか?
編集:htmlをpastebinにアップロードしました