Коллега сделала рейтинг
продуктов для совместной работы. Хочется добавить функциональность отбирать продукты в соответствии с функциональностью:
<ul id="ranking">
<li class="i p r d"><a href="
www.attask.com">@task</a></li>
<li class="i d"><a href="
www.alfresco.com">Alfresco</a></li>
<li class="i p r d"><a href="
www.assembla.com">Assembla</a></li>
<li class="r d"><a href="
basecamphq.com">Basecamp</a></li>
<li class="i s p d"><a href="
www.bontq.com">Bontq</a></li>
[...]
Хочется использовать нескольких классов для html элемента — это красиво и есть надежда поиспользовать CSS.
Заодно рисовать в соответствии с классами i, p, r,… соответствующие иконки. Не получается. Если пишем следующий CSS, рисуется только одна иконка из набора — следующий бэкграунд перетирает предыдущий. Как сделать? Была идея подложить общий бэкграунд со всеми иконками, а сверху рисовать белые нашлёпки, но всё равно непонятно как. Отличие от популярных в последнее время вёрсток с наложением бэкграундов — там несколько бэкграундов объединяются запятой в одном background-image; никто не обещал, что это эквивалентно наложению нескольких классов. :-(
#ranking li {
padding: 0 0 0 144px;
height: 24px;
margin: 0;
background-color: transparent;
background-repeat: no-repeat;
}
#ranking .i {
background-image: url(http://lh5.googleusercontent.com/_aUeHSbJneFc/TaWtMRe2sTI/AAAAAAAADN8/lUN_k4d9agU/s800/issue.png);
background-position: 0 0;
}
</style>
Если мы будем включать/выключать видимость с помощью
display: none;
, похоже последнее значение тоже будет перетирать прдыдущее. Хочется же, чтобы показывались продукты в соответствии с функциональностью, которую пользователь захотел, вне зависимости от порядка классов в спецификаторе.
Можно, конечно, нагородить большой javascript (сейчас так иконки и рисуются). Но может можно всё же заставить работать CSS?