@bitwheeze

Как «нарисовать» стопку карт?

Есть нужда нарисовать стопку карт, так что бы можно было видно число карт в стопке. То-есть этакое 2.5D.

65422f4c3f084369007174.png

Самое простое нагенерить кучу div-ов, с фоном рубашки карт. Но в таком случае получается куча ненужных div-ов. Сильно некрасиво для Accessibility выходит. Вот думаю, можно ли как то обойтись одним div-ом и css. Как то повторить фон нужное число раз со сдвигом?

Спасибо
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
@bitwheeze Автор вопроса
Нашел в интернете, как сделать.

{
    top: var(--deck-top);
    left: var(--deck-left);
    background-image: url("/assets/back_02.png"), url("/assets/back_02.png"), url("/assets/back_02.png");
    background-size: var(--card-width) var(--card-height);
    background-repeat: no-repeat, no-repeat, no-repeat;
    width: var(--card-width);
    height: calc(var(--card-height) + 6px);
    border: 1px solid red;
    background-position: left 0px bottom 0px, left 0px bottom 2px, left 0px bottom 4px;
}


И вот результат

6542446c7a301619373484.png
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
Количество div элементов, особенно в данном случае, не является чем-то критическим.

Не вижу никаких проблем в данном случае использовать нужное количество div'ов + z-index.

Если попытаться оптимизировать спички, то можно сделать обрезанную карту отдельной картинкой или же спрайт из целой и обрезанной карты, и уже обрезок повторять на нужном блоке.

Как то повторить фон нужное число раз со сдвигом?

Тут уже додумайте сами. Звучит, как задание.
Ответ написан
Комментировать
LenovoId
@LenovoId
svg, css,js
https://ru.stackoverflow.com/a/904634/308951 я раньше делал это
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы