XHTML+CSS

красота и удобство

Привет, мой дорогой! Прошу прощения за 48 дней молчания. Сегодня я нарушу тишину рассказом о возможности наделить XHTML-документ красотой и удобством.

Все просто

Вы помните, как выглядел тестовый XHTML-документ из прошлого поста? Красивого мало, да и читать неудобно.

CSS — Cascading Style Sheet
(Каскадная таблица стилей).

Что такое CSS в двух словах: список описаний того, как должны выглядеть и располагаться элементы XHTML-документа.

Главная ценность CSS состоит в отделении содержимого от оформления. То есть к одному XHTML-документу можно применять сколь угодно много разных стилей и один и тот же документ будет выглядеть совсем по-разному. Первый массовый эксперимент, демонстрирующий возможности CSS — CSS Zen Garden. Более 200 дизайнов позволяют одному и тому же документу вызывать совсем разные эмоции 8) В принципе, любая современная блог-платформа построена с учетом того, что многие люди будут делать для нее много разных дизайнов, не заморачиваясь особо с изменением XHTML-страниц.

Приступим!

Итак, чтобы привести документ в порядок, нам нужно применить к нему CSS-стили. Сделать это можно двумя способами: написать код стилей внутри документа (но крутые пацаны и девчонки так не делают) или создать отдельный текстовый файл с расширением .css, записать в него стили и сделать на него ссылку в документе.

Строка подключения css-файла должна размещаться внутри тэга и выглядеть примерно так:

1
<link rel="stylesheet" href="screen.css" type="text/css" media="screen" />

Атрибут href содержит ссылку на css-файл, атрибут media указывает прибор, для которого будет применяться именно этот стиль. Кроме монитора компьютера это еще может быть много чего интересного (см. спецификацию).

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

1
2
3
4
p{
        /* задаем абзацам зеленый цвет шрифта */
    color:green
}

Пример

Возьмем в качестве примера наш документ из прошлого урока, только добавим к нему подключение стилей.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="ru">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>Проснитесь в своих снах!</title>
    <meta name="description" content="осознанные сновидения, сон, книга" />
	<link rel="stylesheet" href="screen.css" type="text/css" media="screen" />
</head>
<body>
    <h1>Проснитесь в своих снах!</h1>
    <p>
        Я брел по сводчатому коридору, уводившему вглубь огромной крепости и я невольно остановился, 
        восхищаясь величественностью архитектуры. Каким-то образом, созерцание великолепного 
        окружения заставило меня понять, что это сновидение! 
        Впечатляющее великолепие замка показалось моему прояснившемуся сознанию еще более удивительным.
    </p>
    <p>
        В состоянии сильнейшего возбуждения я стал исследовать воображаемую реальность своего «воздушного замка». 
        Спускаясь в холл, я чувствовал холод камня под ногами и слышал эхо собственных шагов. Каждый элемент 
        этого зачаровывающего зрелища казался реальным, и несмотря на это я прекрасно осознавал, что вижу сон!
    </p>
    <small>Стивен Лаберже. Осознанные сновидения. Глава 1. </small>
</body>
</html>

А CSS-файл со стилями будет простым:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
body{
		/* стиль для тела документа */
	width:500px; /* задаем ширину */
	margin:20px;  /* задаем отступы снаружи */
	font:62.5% Arial,Sans-Serif /* задаем размер и семейство шрифта для всей страницы */
}
h1{
		/* стиль для главного заголовка */
	font:2.4em Georgia,Serif;
	color:#666 /* задаем цвет шрифта */
}
p{
		/* стиль для абзацев */
	margin-bottom:1.5em; /* задаем отступ снизу от абзаца */
	font-size:1.5em; 
	color:#333;
	line-height:140% /* задаем интерлиньяж — межстрочное расстояние */
}
small{
		/* стиль для маленьких пометок */
	font-size:1.2em;
	color:#999
}

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

Ты можешь посмотреть как выглядит стилизованная страница и сам файл стилей.

PS

Особо любознательные могут изучить спецификацию CSS2. Те, кто ищет простые пути, могут просто посмотреть список свойств CSS и простые уроки от Мержевича.

XHTML

Ура, наконец-то!

Сегодня я, наконец, перейду от общего к частному, и мы начнем работать.

Верстка

Подробнее о верстке
— в википедии.

Как я уже говорил, XHTML — это подвид языка XML. XHTML отличается от своего родителя тем, что список возможных названий тэгов и их атрибутов ограничен. Ограничение введено, потому что XHTML создан для верстки страниц сайтов, и проектировщики этого языка решили описать конечный набор изобразительных элементов.

Полный список тэгов с возможными атрибутами есть на htmlbook.ru.

Наиболее часто используемые элементы верстки в интернете: заголовок, абзац, ссылка, список, прямоугольная область (блок), изображение. Каждому из элементов верстки соответствует свой тэг, и его надо использовать по назначению.

Подготовительные работы

Кроме тэгов, отвечающих за оформление текста, есть еще несколько служебных, которые дают браузерам ориентиры в XHTML-документе.

Подробнее о DOCTYPE на webmascon.com.

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

Тэг html дает браузеру понять, что начался документ-страница.

Внутри тэга head находится краткое описание страницы: ее главный заголовок (title), описание вида документа и кодировки (meta), краткое содержание страницы (description), а также всевозможные скрипты и стили (об этом — позже).

И наконец, тэг body говорит о том, что началась верстка страницы.

Пример

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="ru">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>Проснитесь в своих снах!</title>
    <meta name="description" content="осознанные сновидения, сон, книга" />
</head>
<body>
    <h1>Проснитесь в своих снах!</h1>
    <p>
        Я брел по сводчатому коридору, уводившему вглубь огромной крепости и я невольно остановился, 
        восхищаясь величественностью архитектуры. Каким-то образом, созерцание великолепного 
        окружения заставило меня понять, что это сновидение! 
        Впечатляющее великолепие замка показалось моему прояснившемуся сознанию еще более удивительным.
    </p>
    <p>
        В состоянии сильнейшего возбуждения я стал исследовать воображаемую реальность своего «воздушного замка». 
        Спускаясь в холл, я чувствовал холод камня под ногами и слышал эхо собственных шагов. Каждый элемент 
        этого зачаровывающего зрелища казался реальным, и несмотря на это я прекрасно осознавал, что вижу сон!
    </p>
    <small>Стивен Лаберже. Осознанные сновидения. Глава 1. </small>
</body>
</html>

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

Если у тебя возникли какие-либо вопросы или ты нашел ошибку — пиши в комментарии, я буду рад тебя выслушать.

PS

Кстати, чудо-плагин для подсветки кода в Wordpress я нашел на wordpress.org. Всем советую: поддерживает тонну языков, работает во всех браузерах и очень легко настраивается.

XML

История о деревьях

В этом посте я расскажу о том, что такое XML и какую роль он играет в работе вебмастера.

Мир в виде деревьев

Это может показаться странным для людей, которые не связаны с программированием, — но практически любые данные можно представить в виде дерева. Даже само дерево 8)
Продолжение статьи »

Что такое сайт?

Объясняю на пальцах взаимодействие юзера и веб-сервера

Клиент-сервер

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

Необходимые инструменты

Список программ, которые понадобятся для создания сайтов

Лично мне для выполнения работы вебмастера нужно всего 6 программ. Если я не дал ссылку на какую-либо из них — ее можно скачать на торрентс.ру.
Продолжение статьи »

Вводное занятие

Зачем тебе нужен сайт веб.кодер?

Привет, меня зовут Юра!

На этом сайте мы вместе с тобой создадим программу подготовки веб.кодеров, которая позволит научить любого человека, знакомого с компьютером, очень интересным вещам:
— XHTML-верстке;
— обращению с CSS;
— основам JS, достаточным для изучения AJAX;
— основам PHP, достаточным для дальнейшего повышения уровня до любых высот;
— основам внутренней и внешней оптимизации;
— в перспективе будет Ruby on Rails…

Кроме того, я расскажу про основы работы с фотошопом и другими программами, необходимыми настоящему вебмастеру.

Если есть вопросы и пожелания — пиши в каменты 8)