Я хочу использовать CSS Spritesheet для моих значков. Каждое изображение значка имеет размер 48x48 пикселей. Тем не менее, я хочу иметь возможность отображать значки с произвольным размером.Используйте Scalable CSS Spritesheet
Прямо сейчас, я использую, чтобы отобразить значок 24x24, я использую:
<div style="width:24px;height:24px;display:inline-block"> <div class="tab-achievement sprite" style="transform:scale(0.5);transform-origin:0 0"></div> </div>
Есть более короткий путь, чтобы сделать это? Например, используя ::before
и ::after
.
В конце концов, я хотел бы что-то вроде:
<div class="img24x24 tab-achievement sprite"></div>
демонстрационной цели: Показать правильную иконку с Hello World.
\t .sprite {display:inline-block; overflow:hidden; background-repeat: no-repeat;background-image:url(http://puu.sh/nWh8y.png);}
.tab-achievement {width:48px; height:48px; background-position: -48px -48px}
<div>
<div style="width:24px;height:24px;display:inline-block">
\t <div class="tab-achievement sprite" style="transform:scale(0.5);transform-origin:0 0"></div>
</div> <span>Hello World.</span>
</div>
Я сделаю четкую демонстрацию. То, что вы разместили, не работает. – RainingChain
@RainingChain Обновлен мой ответ, лучше? – LGSon
Какой браузер вы используете? Потому что в Chrome, Firefox и IE ваш фрагмент не работает. Изображение обрезается, а не масштабируется. – RainingChain