Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Однажды мне понадобились маленькие пиктограммы всех государственных флагов на свете. Причём, в них не должно было быть игрушечной веб-два-нольной глянцевости и «весёленьких» искажённых цветов.
<script>//show flag by country
document.addEventListener('DOMContentLoaded', function(){
var container = document.createElement('DIV');
document.body.appendChild(container);
var d = document.createElement('DIV');
d.style.width ='16px';
d.style.height ='11px';
d.style.backgroundImage ='url(1568279_432x297.png)';
d.style.display ='inline-block';
d.style.marginTop ='6px';
d.style.marginLeft ='12px';
//'a'.charCodeAt()==97
for(var i=0; i < 27; i++){
var dLine = document.createElement('DIV');
for(var j =0; j < 27; j++){
var dd = d.cloneNode(!1);
dd.style.backgroundPosition = '-'+ j*16 +'px -'+ i*11 +'px';
dLine.appendChild(dd);
}
container.appendChild(dLine);
}
}, !0);
</script>
.b-fg_xx img { top: -YYpx; }.b-fg_xx__img { top: -YYpx; }<i class="b-fg"><img src="fg.png" class="b-fg_xx__img"/></i>.b-fg_xx, получается долго. Об этом то ли Сергей Чикуёнок писал, то ли Виталий Харисов, не помню уже. Не смог ссылку найти.<i class="b-fg"><img src="fg.png" class="b-fg__img b-fg__img_RU"/></i>
<i class="b-fg b-fg_RU"><img src="fg.png"/></i>
img вместо background-image, ХТМЛ получился длинным. Поэтому, думаю, можно оставить каскадность с одним уровнем вложенности, ради того, чтобы не делать всё ещё длиннее.


Флаги 254 стран одним спрайтом