CSS расшифровывается как Cascade Style Sheets - каскадные таблицы стилей. Вот несколько пояснений по поводу того, что это такое и для чего это нужно.
Представьте себе, что у вас есть довольно-таки большой сайт. Разумеется, на его WEB-страницах есть множество элементов, оформленных одинаково. Это, например, могут быть заголовки страницы (например, на каждой странице заголовок показывается белым шрифтом на синем поле), или оформление абзацев (скажем вы предпочитаете, чтобы каждый абзац показывался шрифтом определенного размера и цвета). Параметров для каждого элемента может быть довольно-таки много. Сделать все это можно разными способами. Один способ (плохой) состоит в том, чтобы приписать все эти атрибуты (цвет, размер и т. д.) каждоме элементу каждой WEB-странице вашего сайта. Это долго и утомительно. Способ второй состоит в использовании CSS. В этом случае вы просто где-нибудь в одном месте пишете, что, скажем, ваши абзацы будут выглядеть так-то и так-то, и все абзацы на всех старничках именно так и будут выглядеть (если вы, разумеется,
этого захотите).
Есть еще одна причина, почему предпочтительнее использовать CSS. Представьте себе, что вы решили поменять дизайн вашего сайта (что, такого не было?). Если вы не используете CSS, то вам придется внести изменения на каждуюю страницу (да еще и в несколько мест). Если же вы используете CSS, то изменения достаточно внести только в несколько файлов.
Теперь от слов переходим к практите.
Итак, у нас есть несколько HTML-страниц, и мы хотим оформить их в едином стиле. Под единым стилем понимаем цвет фона (скажем синий) шрифт (скажем, белый). Для этого создаем сначала файл styles.css следующего содержания (название файлу можете дать любое):
body{
background: Blue;
}
p{
color: White;
}
Что мы в этом файле сделали? Просто добавили параметры для фона страницы (для тега body) и для цвета фона (для тега p).
Далее во всех наших WEB-страницах просто добавляем ссылку на только что созданный файл styles.css примерно следующим образом:
мы должны, разумеется, правильно указать путь к нашей таблице стилей. Он может быть и относительный (href="css/styles.css"), и абсолютный (href="/css/styles.css"). В нашем примере предпологается, что файл стилей расположен в той же папке, что и HTML-файл.
Теперь менять дизайн сайта очень просто - для этого достаточно внести изменения только в один файл styles.css. Например, изменив этот файл следующим образом:
мы получим следующий результат: цвет фона страницы поменялся на зеленый (оливковый), цвет заголовков первого уровня поменялся на желтый и размер шрифта для заголовков первого уровня стал маленьким.
Что за изменения мы внесли? Во-первых, мы поменяли цвет фона, во-вторых, мы поменяли цвет шрифта и в-третьих, мы добавили стиль для заголовков (точнее для тега <h1>).
Из предыдущего урока должно быть более-менее понятно, как использовать CSS (создаем файл *.css, в который пишем новое оформление для тегов и затем подсоединяем этот файл к нашим HTML-страничкам). И тогда к прописанным в нашем файле тегам будет применятся новое, заданное нами оформление). Все это было бы замечательно, но иногда мы сталкиваемся с такой ситуацией - у нас есть элементы, которые надо оформлять почти одинаково. Например, один из элементов нашей страницы имеет некоторое весьма сложное оформление (зеленый шрифт курсивного полужирного начертания на сером фоне), и другой элемент имеет оформление, почти совпадающим с оформлением первого элемента (например, все тоже самое, только не на сером фоне, а на черном). Причем (и это важно) эти два элемента имеют одну природу (задаются одним тегом, говоря другими словами). Типичный пример - какой-нибудь FAQ, в котором, скажем, слово
"Вопрос" должно быть почти также, как и слово"Ответ". Оба эти элемента будут отностится к заголовку третьго уговня (тег <h3> и </h3>) и разница между этими элементами будет только в одном - например, в цвете фона для букв. Именно этот пример мы сейчас и рассмотрим.
Сразу напишем готовый текст, который потом прокомментируем. Вот так мы зададим наши стили (в файле styles.css):
Обратите внимание на то, что мы не просто написали имя тега h3, а приписали к нему через точку еще некоторый дополнительный параметр (в нашем случае это .question и .answer). Имя для этих параметров определяете вы сами (т. е. вместо .question и .answer) вы можете написать то, что вым больше подходит по смыслу. Вы можете рассматривать эти дополнения (которые офицально называются классами) как определение для тега h1 некоторых дополнительных подвидов. Параметры же для этих подвидов и задаются в фигурных скобках (в нашем случае мы определяем для них разные цвета для фона).
А вот как мы это можем использовать на HTML-страничке:
Обратите внимание, что у наших тегов h3 появился новый параметр - class="question" в одном случае и class="answer" в другом. Это как раз имена классов из файла стилей.
Вот так будут выглядеть наша страничка в браузере: два заголовка (оба одного уровня), но с различными цветами фона - цветом морской волны и серым.
В данном примере мы задали новые классы (.question и .answer) для конкретного тега <h3>. Но можно задать наш класс и так, что его можно будет применить к любому тегу. Для этого мы должны определить в файле *.css новый класс без конкретного тега (но с точкой перед ним!):
.red{
color: red;
}
Этот класс задает красный цвет шрифта. Внутри HTML-странички мы можем приписать наш класс .red к любому тегу:
Результат на WEB-странице будет таким - содержимое первых двух тегов (заголовка и абзаца (<h5> и <p>)) будет красного цвета, и двух последующих тегов (тех же <h5> и <p>) - обычного черного цвета.