Я играю со свойством -webkit-mask-box-image
css.
<div style="
background-color: red;
-webkit-mask-box-image: url('images/cards/set1.png');
"></div>
Это прекрасно работает. Я получаю красный элемент в форме маски изображения.
Единственный улов в том, что мне нужно около 25 различных изображений. Я мог бы просто загрузить 25 различных изображений масок, но было бы здорово, если бы я мог загрузить только одно изображение и затем использовать его, как спрайт CSS, где я перемещаю его или обрезаю его.
Но я не могу придумать хороший способ сделать это со свойствами маски. Это выполнимо?
Единственное решение, которое я придумал, - это использовать разметку, похожую на эту:
<div style="
width: 100px;
height: 100px;
overflow: hidden;
position: relative;">
<div style="
background-color: red;
-webkit-mask-box-image: url('images/cards/set1.png');
position: absolute;
top: -400px
"></div>
</div>
Вместо того, чтобы использовать фоновое изображение и позиционировать его как спрайт, я использую DIV и позиционирую его в родительском div, который обрезает его. Я думаю, что это нормально, но мне было интересно, было ли свойство CSS, ориентированное на webkit, уже разработано именно для этого.