Вы можете использовать выражения CSS.
Выражения CSS - это мощный (и опасный) способ динамического задания свойств CSS.Проблема с выражениями заключается в том, что они оцениваются чаще, чем ожидает большинство людей.
http://gadgetopia.com/post/2774
http://msdn.microsoft.com/en-us/library/ms537634(v=vs.85).aspx
http://blog.dynatrace.com/2010/02/16/the-real-performance-overhead-of-css-expressions/
Я не стал бы думать об этом в CSS, поскольку с помощью jquery / javascript это довольно легко.
Если бы вы могли немного изменить свой DOM, это бы очень помогло.Например:
<div id="progressbar">
<div id="progress"> </div>
</div>
<div id="status">
<span class="heading">MONEY RAISED</span>
$ <span id="raised">800</span>
<span class="heading">MONEY ASKED</span>
$ <span id="asked">1000</span>
</div>
Чем использовать jquery:
var raised = parseInt($('#raised').text().replace(',','')),
asked = parseInt($('#asked').text().replace(',',''));
$('#progress').css('width', (raised / asked)*100 +"%");
или javascript:
var raised = parseInt(document.getElementById('raised').innerHTML.replace(',','')),
asked = parseInt(document.getElementById('asked').innerHTML.replace(',',''));
document.getElementById('progress').style.width = (raised / asked)*100 +"%";