2016-06-28 15 views
3

OKだから、パーセンテージセットに応じてそのパーセンテージを満たすバーがあります。幅に応じて色を動的に変更するにはどうすればいいですか?

しかし、これを変更するには、パーセンテージに応じて色を変えることができます。 100%に近づくにつれて徐々に緑色に変わり 0%赤〜25%例えば

HTML

<div class="progress"> 
</div> 

この上の任意のヘルプは素晴らしいだろう

.progress { 
    width:200px; 
    height:50px; 
    border:1px solid black; 
    position:relative; 
} 
.progress:after { 
    content:'\A'; 
    position:absolute; 
    background:black; 
    top:0; bottom:0; 
    left:0; 
    width:90%; 
    -webkit-animation: filler 2s ease-in-out; 
    -moz-animation: filler 2s ease-in-out; 
    animation: filler 2s ease-in-out; 
} 

@-webkit-keyframes filler { 
    0% { 
     width:0; 
    } 
} 
@-moz-keyframes filler { 
    0% { 
     width:0; 
    } 
} 
@keyframes filler { 
    0% { 
     width:0; 
    } 
} 

CSS 、 ありがとうございます。

+1

のJavascript .... CSSはそれを行うことはできません。パーセンテージを変更するには、とにかくJSが必要です。 –

答えて

3

あなたはここにlinear-gradientを使用してX軸に翻訳し、徐々に勾配の下に親要素を明らかにすること:after擬似要素をアニメーション化できます。

animation-fill-mode: forwardsは、アニメーションが終了すると:afterを右側に保持することです。

.progress { 
 
    width: 200px; 
 
    height: 50px; 
 
    border: 1px solid black; 
 
    background: linear-gradient(to right, red 25%, green 100%); 
 
    position: relative; 
 
    overflow: hidden; 
 
} 
 
.progress:after { 
 
    content: '\A'; 
 
position: absolute; 
 
    top: 0; 
 
    bottom: 0; 
 
    background: white; 
 
    left: 0; 
 
    width: 100%; 
 
    -webkit-animation: filler 2s ease-in-out; 
 
    -moz-animation: filler 2s ease-in-out; 
 
    animation: filler 2s ease-in-out; 
 
    animation-fill-mode: forwards; 
 
} 
 
@-webkit-keyframes filler { 
 
    100% { 
 
    transform: translateX(100%); 
 
    } 
 
} 
 
@-moz-keyframes filler { 
 
    100% { 
 
    transform: translateX(100%); 
 
    } 
 
} 
 
@keyframes filler { 
 
    100% { 
 
    transform: translateX(100%); 
 
    } 
 
}
<div class="progress"></div>

0

あなたはHTML5の進捗要素でそれを行うことができます。

<progress></progress> 

そして、あなたは、このようなスタイルを与えることができます:

progress[value] { 
    //your style 
} 

あなたはthisリンクで使用例を見つけることができます。

+1

これが色**を動的に変化させる方法**を明確にしてください。あなたが提供したリンクはそれをカバーしていないようです....そして、**がここに必要と思われる**。 –

+0

私は説明したがっていました。上記の基本的な例を示したプログレスバーのパーセンテージで色を設定した場合、JSとのパーセンテージ(進行幅を変更することによって)をトリガするとき、JSで色を設定する必要はありません。あなたはJSによってパーセントを制御しなければならず、次にそれは自動的に色(または別のスタイル変数)を設定します。 – kkakkurt

関連する問題