JavaScript. Подробное руководство, 6-е издание, стр. 237

Таблицы CSS позволяют точно указать позицию, размеры, цвета фона и рамки элемента, что обеспечивает элементарные графические средства рисования прямоугольников и (если до предела уменьшить высоту или ширину) горизонтальных или вертикальных линий. В предыдущее издание книги был включен пример рисования столбчатых диаграмм средствами CSS, но в этом издании он был заменен расширенным описанием элемента

<b>&lt;canvas&gt;.</b>
(Подробнее о работе с графикой на стороне клиента рассказывается в главе 21.)

В дополнение к атрибуту

<b>background-color</b>
можно также указать изображение, которое должно использоваться в качестве фоновой картинки элемента. Свойство
<b>background-image</b>
определяет фоновое изображение, а свойства
<b>background-attachment, background-position</b>
и
<b>background-repeat</b>
уточняют некоторые параметры рисования изображения. Сокращенная форма записи - свойство
<b>background</b>
, позволяющее указывать все эти атрибуты вместе. Свойства, определяющие фоновый рисунок, могут применяться для создания довольно интересных визуальных эффектов, но это уже выходит за рамки темы данной книги.

Очень важно понимать, что если цвет фона или фоновый рисунок элемента не задан, то фон элемента обычно прозрачный. Например, если поверх некоторого текста в обычном потоке вывода документа расположить элемент

<b>&lt;div&gt;</b>
с абсолютным позиционированием, то по умолчанию текст будет виден через элемент
<b>&lt;div&gt;.</b>
Если же элемент
<b>&lt;div&gt;</b>
содержит собственный текст, символы окажутся наложенными друг на друга, образуя трудную для чтения мешанину. Однако не все элементы по умолчанию прозрачны. Например, элементы форм выглядели бы нелепо с прозрачным фоном, и такие элементы, как
<b>&lt;button&gt;,</b>
имеют цвет фона по умолчанию. Переопределить значение цвета по умолчанию можно с помощью свойства
<b>background-color</b>
; при необходимости можно явно установить цвет фона прозрачным («transparent»).

Прозрачность, о которой мы до сих пор говорили, может быть либо полной, либо нулевой: элемент имеет либо прозрачный, либо непрозрачный фон. Однако существует возможность получить полупрозрачный элемент (для содержимого как заднего, так и переднего плана). (Пример полупрозрачного элемента приведен на рис. 16.3.) Делается это с помощью свойства

<b>opacity</b>
, определяемого стандартом CSS3. Значением этого свойства является число в диапазоне от 0 до 1, где 1 означает 100-процентную непрозрачность (значение по умолчанию), а 0 - 100-процентную прозрачность. Свойство
<b>opacity</b>
поддерживается всеми текущими броузерами, кроме IE. В IE аналогичная функциональность реализуется с помощью специфичного свойства
<b>filter</b>
. Чтобы сделать элемент непрозрачным на 75%, можно воспользоваться следующими CSS-стилями:

<b>opacity: .75;              /* стандартный стиль прозрачности в CSS3 */</b>

<b>filter: alpha(opacity=75); /* прозрачность в IE; обратите внимание */</b>

<b>                           /* на отсутствие десятичной точки */</b>

16.2.6. Частичная видимость: свойства overflow и dip

Свойство

<b>visibility</b>
позволяет полностью скрыть элемент документа. С помощью свойств
<b>overflow</b>
и
<b>clip</b>
можно отобразить только часть элемента. Свойство
<b>overflow</b>
определяет, что происходит, когда содержимое документа превышает размер, указанный для элемента (например, в свойствах стиля
<b>width</b>
и
<b>height</b>
). Далее перечислены допустимые значения этого свойства и указано их назначение:

<b>visible</b>

Содержимое может выходить за пределы и по необходимости прорисовываться вне прямоугольника элемента. Это значение по умолчанию.

<b>hidden</b>

Содержимое, вышедшее за пределы элемента, обрезается и скрывается, так что никакая часть содержимого никогда не прорисовывается вне области, определяемой свойствами размера и позиционирования.

<b>scroll</b>

Область элемента имеет постоянные горизонтальную и вертикальную полосы прокрутки. Если содержимое превышает размеры области, полосы прокрутки позволяют увидеть остальное содержимое. Это значение учитывается, только когда документ отображается на экране компьютера; когда документ выводится, например, на бумагу, полосы прокрутки, очевидно, не имеют смысла.

<b>auto</b>

Полосы прокрутки отображаются не постоянно, а только когда содержимое превышает размер элемента.

Если свойство

<b>overflow</b>
определяет, что должно происходить, когда содержимое элемента превысит область элемента, то с помощью свойства
<b>clip</b>
можно точно указать, какая часть элемента должна отображаться независимо от того, выходит ли содержимое за пределы элемента. Это свойство особенно полезно для создания эффектов, когда элемент открывается или проявляется постепенно.

Значение свойства

<b>clip</b>
задает область отсечения элемента. В CSS2 области отсечения прямоугольные, но синтаксис атрибута
<b>clip</b>
обеспечивает возможность в следующих версиях стандарта задавать области отсечения, отличные от прямоугольных. Синтаксис свойства
<b>clip</b>
:

<b>rect(top right bottom left)</b>

Значения

<b>top, right, bottom</b>
и
<b>left</b>
задают границы прямоугольника отсечения относительно левого верхнего угла области элемента. Чтобы, например, вывести только часть элемента в области 100 X 100 пикселов, можно задать для этого элемента следующий атрибут
<b>style</b>
:

<b>style=&quot;clip: rect(0px 100рх 100рх 0рх);&quot;</b>

Обратите внимание, что четыре значения в скобках представляют собой значения длины и должны включать спецификацию единиц измерения, например рх для пикселов. Проценты здесь не допускаются. Значения могут быть отрицательными - это будет означать, что область отсечения выходит за переделы области, определенной для элемента. Для любого из четырех значений ключевое слово

<b>auto</b>
указывает, что этот край области отсечения совпадает с соответствующим краем самого элемента. Например, можно вывести только левые 100 пикселов элемента с помощью следующего атрибута
<b>style</b>
: