Частично закрашиваемые изображения
К примеру для вывода рейтинга материала показываются 5 звезд, и в зависимости от рейтинга первые звезды закрашены.
Для этого нужно округлить рейтинг до целого числа. А если есть необходимость без округления, к примеру рейтинг 2.5 то нужно вывести 2 звезды закрашены и третью на половину. Как средствами html можно частично закрашивать изображения ? |
Цитата:
|
<img src="star.gif" style="star-bg.gif; background-position: -20px 0;"> Где star.gif -- изображение с прозрачной дыркой в форме звезды. star-bg.gif -- изображение нужного цвета и нужного размера (будет закрашивать звезду). |
Или вот такой пример...
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> #box { position: relative; width: 100px; height: 20px; border: 1px solid; } #rating, #stars { position: absolute; top: 0; left: 0; height: 100%; } #stars { width: 100%; background: url('http://javascript.ru/forum/images/smilies/smile.gif'); } #rating { width: 0; background-color: orange; } </style> <script type="text/javascript"> function Go(N) { var l=document.getElementById('box').offsetWidth; l=(l*N)/100; l=l.toFixed(); document.getElementById('rating').style.width=l+'px'; } </script> </head> <body onload='Go(30)'> <div id='box'> <div id='rating'></div> <div id='stars'></div> </div> </body> </html> Только у меня "дырявый" фон, а не картинка. Но думаю смысл понятен... :) |
Спасибо Kolyaj и ksa, смысл ясен :thanks:
|
Часовой пояс GMT +3, время: 07:03. |