Чтобы «негативно расположить фоновое изображение справа или снизу», вы можете использовать проценты менее 0%.Например:
background-position: -11% -7%;
... позиционирует изображение, обрезанное внизу справа, если изображение имеет размер, аналогичный элементу.Вам может понадобиться больше отрицательных процентов, если они не одинакового размера.
Чтобы «негативно расположить фоновое изображение к влево или вверх », вы можете использовать проценты больше 100%.Например:
background-position: 105% 110%;
... позиционирует изображение обрезанным сверху и слева, снова предполагая, что они имеют одинаковые размеры.Возможно, вам понадобятся большие проценты, если они не одинакового размера.
Однако найти точные проценты вам не очень интуитивно понятно.CSS использует проценты немного по-другому с background-position
.Значение - это процентное соотношение как к изображению, так и к элементу (он же видовой экран), где они одинаковы.Вот почему 0%
равно left
, 50%
равно center
, а 100%
равно right
.За пределами этого диапазона он еще менее интуитивен, так как «меньше нуля» соответствует точке перед верхним / левым краем как на изображении, так и на элементе (эффективно смещая изображение на от верхнего / левого),и «больше 100%» соответствует точке, превышающей дальний нижний / правый край, что приводит к смещению изображения на снизу / справа.
Это уравнение помогает определитьгде вы хотите, чтобы изображение сидело.Простая алгебра даст вам переменную, которую вы хотите знать (например, решить для процента).
effectiveLeft = (elementWidth - imageWidth) * percentageLeft;
effectiveTop = (elementHeight - imageHeight) * percentageTop;
Что касается вашего второго вопроса (повторяющаяся часть изображения), я не верю, что это возможно, если толькоВы должны были повторить несколько элементов обрезки, что отличается от того, что вы хотели.