Игорь Квинт - HTML, XHTML и CSS на 100% стр 41.

Шрифт
Фон

• top – задает смещение верхнего сегмента внутренней краевой линии относительно верхнего сегмента краевой линии контейнера блока.

• right – определяет смещение правого сегмента внутренней краевой линии влево относительно правого сегмента краевой линии контейнера блока.

• bottom – задает смещение нижнего сегмента внутренней краевой линии вверх относительно нижнего сегмента краевой линии контейнера блока.

• left – определяет смещение левого сегмента внутренней краевой линии вправо относительно левого сегмента краевой линии контейнера блока.

Значения этих четырех свойств имеют следующий смысл.

• «длина» – смещение задается фиксированным значением расстояния от исходной краевой линии.

• «проценты» – смещение задается процентным соотношением относительно ширины (для свойств left и right) или высоты (для свойств top и bottom) контейнера. Если высота контейнера не указана точно, то есть зависит от высоты содержимого, то процентное соотношение, определяющее значение свойств top и bottom, интерпретируется как значение auto.

• auto – результат данного значения зависит от того, какие из свойств, близких по своему содержанию к рассматриваемым, также имеют значение auto.

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

Позиционирование перемещаемого объекта

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

• left – элемент порождает структурный блок, перемещаемый влево. Содержимое выводится вдоль правой стороны блока, начиная с самого верха (за счет свойства clear). Свойство display игнорируется, если ему не присвоено значение none.

• right – подобно значению left с той лишь разницей, что содержимое выводится вдоль левой стороны блока, начиная с самого верха.

• none – блок не перемещается.

Следующее правило перемещает все блоки, порожденные элементом IMG с атрибутом class="icon", влево и устанавливает значение ширины поля равным нулю:

IMG.icon {

float: left;

margin-left: 0;

}

Рассмотрим исходный HTML-документ и таблицу стилей на примере из листинга 9.14.

Листинг 9.14. Пример перемещаемого объекта

<html>

<head>

<title>Глава 9. Пример перемещаемого объекта</title>

<style type="text/css">

img { float: left }

body, p, img { margin: 2em }

</style>

</head>

<body>

<p><img src="img.gif" alt="Данный рисунок иллюстрирует перемещаемые объекты">

Пример текста, у которого нет другого...

</body>

</html>

Блок, порожденный элементом IMG, перемещается влево. Следующее за ним содержимое форматируется справа от него, начиная с той же строки, на которой находится он сам. Присутствие перемещаемого объекта влияет на то, что, пока линейные блоки находятся справа от него, они укорачиваются, но как только они достигают его конца, сразу восстанавливают свою исходную ширину (равную ширине контейнера, назначенного элементом P). Приведенный документ может быть отформатирован следующим образом:

<body>

<p>Произвольный текст,

<img src="img.gif" alt="Данный рисунок иллюстрирует перемещаемые объекты">

у которого нет другого...

</body>

Это объясняется тем, что содержимое, находящееся слева от перемещаемого объекта, заменяется им, а само отображается справа от него.

Фиксированное позиционирование

Фиксированное позиционирование – разновидность абсолютного позиционирования. Единственным его отличием является то, что контейнер определяется областью просмотра. Для устройств без разбивки фиксированные блоки не перемещаются при прокрутке документа. В этом отношении они схожи с фиксированными фоновыми изображениями. Для устройств с постраничной разбивкой блоки с фиксированным положением повторяются на каждой странице. Это может оказаться удобным, например, при размещении подписей в нижней части каждой страницы.

Вы можете использовать фиксированное позиционирование для создания презентации в виде совокупности кадров. Рассмотрим один из примеров такой презентации, представленный на рис. 9.5.

Рис. 9.5. Фиксированное позиционирование

Подобного эффекта можно достичь с помощью HTML-кода и правил стиля, представленных в листинге 9.15.

Листинг 9.15. Создание кадров в CSS

<html>

<head>

<title>Глава 9. Создание кадров в CSS</title>

<style type="text/css">

body { height: 8.5in } /* будет использовано ниже для определения */

/* процентных соотношений, задающих значение */

/* высоты элемента */

#header {

position: fixed;

width: 100%;

height: 15%;

top: 0;

right: 0;

bottom: auto;

left: 0;

}

#sidebar {

position: fixed;

width: 10em;

height: auto;

top: 15%;

right: auto;

bottom: 100px;

left: 0;

}

#main {

position: fixed;

width: auto;

height: auto;

top: 15%;

right: 0;

bottom: 100px;

left: 10em;

}

#footer {

position: fixed;

width: 100%;

height: 100px;

top: auto;

right: 0;

bottom: 0;

left: 0;

}

</style>

</head>

<body>

<div id="header"> ... </div>

<div id="sidebar"> ... </div>

<div id="main"> ... </div>

<div id="footer"> ... </div>

</body>

</html>

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

Определение позиционного уровня

Для размещенного блока вы можете задать позиционный уровень, в текущем контексте используя свойство z-index. Это свойство может принимать такие значения.

• «целое число» – является значением позиционного уровня сгенерированного блока в текущем контексте. Блок также назначает локальный позиционный контекст с позиционным уровнем 0.

• auto – позиционный уровень блока в текущем контексте совпадает с позиционным уровнем родительского блока.

Рассмотрим пример, приведенный в листинге 9.16. В этом примере позиционные уровни блоков именуются с использованием атрибута id. Причем позиционный уровень text2 наследуется от корневого блока. Другие уровни указываются свойством z-index.

Листинг 9.16. Позиционирование вдоль оси z

<html>

<head>

<title>Глава 9. Позиционирование вдоль оси z</title>

<style type="text/css">

.pile {

position: absolute;

left: 2in;

top: 2in;

width: 3in;

height: 3in;

}

</style>

</head>

<body>

<p>

<img id="image" class="pile"

src="someimg.gif" alt="Картинка"

style="z-index: 1">

<div id="text1" class="pile"

style="z-index: 3">

Этот текст будет находиться поверх изображения.

</div>

<div id="text2">

Этот текст будет находиться под всем остальным.

</div>

<div id="text3" class="pile"

style="z-index: 2">

Этот текст будет находиться ниже текста text1, но поверх изображения.

</div>

</body>

</html>

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

Резюме

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

Глава 10 Введение в динамический HTML

10.1. Браузер и HTML-документ

10.2. Родительские и дочерние объекты

10.3. Объекты браузера

10.4. Объектная модель документа (DOM)

Язык HTML позволяет создавать только статические веб-страницы, не обеспечивающие интерактивное взаимодействие с посетителем сайта. Однако в HTML-документ можно встраивать сценарии, то есть небольшие программы, написанные на специальном языке, придающие веб-странице динамичность. Одним из таких языков создания сценариев является JavaScript.

JavaScript – это объектно-ориентированный язык программирования. Это означает, что каждый элемент на веб-странице и в окне вашего браузера предстает в виде некоего объекта, доступного для управления из программного кода. Кнопки и поля формы, гиперссылки, изображения, цвет фона веб-страницы и даже само окно браузера с точки зрения программирования на JavaScript являются объектами.

Каждый объект имеет свои свойства, и с ним можно совершать определенные действия. Это позволяет разработчику легко получать доступ к любому элементу веб-страницы. Какие объекты существуют в JavaScript, какими свойствами они обладают и как с помощью сценариев управлять любыми элементами HTML-документа, вы узнаете, прочитав данную главу.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub

Популярные книги автора