Для приложения с большим количеством значков, я хочу создать спрайт изображения. Так как я начал свое «приключение» в земле вебдизайн/фронтальный Webdev, я всегда задавался вопрос: какова логика background-position: (left)<number>px (top)<number>px;
Логическое объяснение для фонового положения CSS?
Когда вы сравните это сокращённое свойство для любого дополнения или марж (если только указав верхнюю и левую), это оба property: (top)<number>px (left)<number>px;
Таким образом, верхнее и левое значения меняются на противоположные.
Кроме того, предположим, что у меня есть спрайт 64px (длина) x 16px (высота) и содержит в общей сложности 4 значка 16x16. Для того, чтобы получить вторую иконку в спрайта (| _ ___ | _this_ | _ __ | ____ |), вы должны ввести background-image: -16px 0px;
вместо 16px 0px
(что было бы логично, потому что второй значок начинается на 16 пикселей позже первого).
Если вы хотите пример (я знаю w3schools не всегда правильно, но он будет делать для примера): http://www.w3schools.com/css/tryit.asp?filename=trycss_sprites_nav
Так что мой вопрос: Почему все значения свойства фона позиции, как, ... отменено? Есть ли какая-то логика? CSS читает свойство справа налево?
, потому что вы их перемещение назад по горизонтали или вертикально, если вы хотите использовать положительные значения, переустановите свои значки так, чтобы первый значок, который вы хотите использовать, находится на самом нижнем или самом правом значении, таким образом, значок thenext будет иметь положительное значение смещения. –
@JEES Да, но почему это свойство смещается назад, а не вперед, как и все другие реквизиты CSS? Есть ли логика? – Tyblitz
В стороне, я подумал, что при использовании прописных/маржинальных сокращений только с двумя значениями они не означают 'top' и' left', а 'top и bottom' и' left and right'. – wilks