HTML5 + CSS3

Ссылки в HTML5

Ссылки в HTML5.

Собирать все стили в одном внешнем файле и вставлять этот файл во все нужные документы довольно удобно. Читать далее

Свойство text-shadow

Свойство text-shadow.

Итак, мы узнали о тенях все, и теперь вы, вероятно, захотите создать тени для всех элементов в своем документе. Свойство box-shadow специально предназначено для добавления теней к полям. Читать далее

Новая иерархия заголовков

Новая иерархия заголовков.

В нашем шаблоне использованы элементы <h1> и <h2> для объявления заголовков и подзаголовков различных разделов документа. Стили по умолчанию для этих элементов всегда далеки от того, что нам хотелось бы видеть на экране. Читать далее

Одновременное использование всех видов трансформации

Одновременное использование всех видов трансформации.

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

Читать далее

Строение тела документа

Строение тела документа.

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

Читать далее

Принципы работы гибкой блочной модели

Принципы работы гибкой блочной модели.

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

Одной из главных причин создания гибкой блочной модели была необходимость иметь возможность эффективно распределять экранное пространство между элементами. Приходилось увеличивать или уменьшать элементы в зависимости от того, сколько свободного места было в соответствующем контейнере. Чтобы понимать, какое количество пространства доступно для распределения, нужно было точно определять размер контейнера, и это привело к возникновению понятия родительских блоков. Родительские блоки определяются свойством display, и их можно описывать как блочные элементы, используя значение box, либо как строчные элементы, если задать значение inline-box.

Parentbox

Box-1

Box-2

Box-3

Box-4

рис. 2.4. Родительский блок с четырьмя потомками

HTML-код для генерации блоков, изображенных на рис. 2.4, может выглядеть примерно так, как показано в листинге 2.45.

Листинг 2.45. Базовый HTML-код, с которым мы будем работать

<!DOCTYPE html>

<html lang="en">

<head>

<title>Flexible Box Model sample</title> <link rel="stylesheet" href="test. css">

</head>

<body>

<section id="parentbox">

<div id="box-1">Box 1</div>

<div id="box-2">Box 2</div>

<div id="box-3">Box 3</div>

<div id="box-4">Box 4</div>

</section>

</body>

</html>

Создайте еще один пустой текстовый файл с любым названием и расширением. html. Скопируйте в него код из листинга 2.45. Используя этот файл, мы поэкспериментируем со свойствами гибкой блочной модели. Правила CSS будут подключаться из внешнего файла под названием test. css. Создайте и этот файл тоже и добавляйте в него правила из следующих листингов. Проверяйте результаты применения каждого правила, открывая HTML-файл в окне браузера.

Свойство display

Как уже говорилось, свойство display может принимать два значения: box и inline-box. Мы определим родительский блок как блочный элемент, используя значение box.

Не забывайте о том, что пока все эти свойства находятся на этапе разработки. Для того чтобы применять их, объявлять каждое из свойств необходимо с добавлением префикса — moz — или — webkit — в зависимости от того, с каким браузером вы работаете. Например, пока что display: box следует записывать как display: — moz-box для механизма Gecko и display: — webkit-box для механизма WebKit. Посмотрите, как это делается, в предыдущих листингах или зайдите на наш вебсайт, чтобы загрузить полные версии этих примеров. Мы решили не добавлять префиксы в листинги из этого раздела, для того чтобы вам было проще читать код.

Листинг 2.46. Объявление элемента parentbox в качестве родительского блока

#parentbox { display: box;

}

Свойство box-orient

По умолчанию родительский блок определяет горизонтальную ориентацию для всех своих потомков. С помощью свойства box-orient можно объявить определенную ориентацию элементов.

Листинг 2.47. Объявление ориентации дочерних элементов

#parentbox { display: box; box-orient: horizontal;

}

Свойство box-orient может принимать одно из четырех значений: horizontal, vertical, inline-axis или block-axis. По умолчанию устанавливается значение inline-axis, поэтому блоки выстраиваются в ряд по горизонтали (как показано на рис. 2.4). Аналогичного эффекта можно добиться с помощью значения horizontal, которое мы применили в листинге 2.47.

Этот и последующие примеры будут работать в браузере, только если вы будете объявлять каждый новый стиль с добавлением префикса — moz — или — webkit — в соответствии с тем, какой браузер используете (соответственно, Firefox или Google Chrome).

Обработчики событий

Обработчики событий.

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

Читать далее

Ссылка по ключевому слову

Ссылка по ключевому слову.

Объявление правила CSS с упоминанием ключевого слова элемента позволяет изменить все соответствующие элементы в документе. Например, следующее правило (листинг 2.4) меняет стиль элементов <p>.

Читать далее

Свойство @font-face

Свойство @font-face.

Текстовая тень — отличный трюк, который, кстати, было непросто реализовать методами предыдущего поколения. Однако он всего лишь добавляет эффект объема, а не меняет сам текст. Создание тени — как покраска старого автомобиля: в результате у вас остается все та же старая машина. А у нас — все тот же шрифт.

Читать далее

Объявление новых элементов HTML5

Объявление новых элементов HTML5.

Еще одно базовое правило, которое необходимо добавить в самом начале, — это определение структурных элементов HTML5 по умолчанию. Некоторые браузеры не распознают их или обрабатывают как строчные элементы. Читать далее