По умолчанию поддерживающие стили броузеры выводят фоновое изображение, начиная с левого верхнего угла выделенного пространства. С помощью свойства background-position можно сместить начальное положение фонового изображения. Смещение может быть абсолютным (длина) и относительным (процентное значение или ключевое слово).
В результате потенциально «обрезанное» изображение будет заполнять прямоугольную область от этой сдвинутой начальной точки.
Свойству background-position можно приписать одно или два значения. Если вы используете одиночное значение, оно применяется к положениям по горизонтали и по вертикали. В случае двух значений первое – это горизонтальное смещение, второе – вертикальное. Значения длины задают абсолютное расстояние от верхнего левого угла элемента, за которым вы помещаете фоновое изображение. Отрицательные значения фактически обрезают соответственно верхнюю и левую часть изображения в пределах выделенного окошка, подобно тому как изображение, не помещающееся в окно броузера, обрезается снизу и справа.
Например:
table {background-image: url(backgrounds/marble.gif);
background-position: 10px 20px}
сдвигает мраморный фон на 10 пикселов вправо и на 20 пикселов вниз от верхнего левого угла всякого элемента <table> в документе.
Процентные значения устроены чуть хитрее, но они легче в использовании. Если считать, что расстояния от левого до правого края элемента, так же как и от верхнего до нижнего, равны 100 процентам, то центр элемента расположен в точке 50%, 50%. Подобным образом сдвиг на треть элемента вправо и на две трети вниз обозначается 33%, 66%.
Итак, чтобы сдвинуть фон обеденного меню из нашего примера к центру пространства, в которое отображается содержимое элемента, напишем:
Background-position: 50%
Но зачем использовать числа, когда достаточно одного слова? Вы можете применять ключевые слова left, center и right так же, как и top, center и bottom вместо 0%, 50% и 100% соответственно. Чтобы центрировать изображение по отношению к области, занятой содержимым тега, напишите:
background position: center
Длины и процентные значения1 можно использовать совместно, так что:
background position: 1cm 50%
смещает изображение на один сантиметр вправо и к середине области тега по вертикали.
Обратите внимание, что при относительном смещении изображение сдвигается относительно содержимого тега, когда пользователь меняет размер окна броузера, потому что место, отведенное содержимому, тоже меняет свой размер. Если же вы указываете абсолютное смещение, изображение остается на том же месте по отношению к содержи
мому элемента.
Вероятно, вы ожидаете, что при размножаемом фоне (это свойство установлено по умолчанию) изображение расширяется вниз и вправо. Это не совсем так. В современных броузерах изображение «обтекает» элемент, заполняя отведенное ему пространство на экране.
<style type=css/text>
<!–
pre {background-image: url(backgrounds/vert.gif)}
pre.offset {background-image: url(backgrounds/vert.gif); background
position: -20px -20px}
–>
</style>
…
The following background image is offset by -20 pixels left and up:
<pre></pre>
<p>
This background image is not offset:
<pre>
</pre>