- Добавить в Избранное
-
Сделать стартовой
 
Содержание
Глава 1- 18
Как создаются Web-страницы
Основные принципы работы с Dreamweaver
Начинаем с текста
Рисунки,звуки,фильмы
Таблицы
Работа с Web-сайтом
Фреймы
Табличный дизайн
Использование шаблонов
Каскадные таблицы стилей
Свободно позиционируемые элементы
Анимация элементов Web-страниц
Использование сценариев
Метатегн и серверные директивы
Введение в серверное программирование
Формы
Простейшие серверные приложения
Создание интерактивных сайтов
На заметку
Установите на своем сайте нашу кнопку:

Вебмастеру - портал о редакторе Macromedia Dreamweaver MX. Создание сайтов.


    1  2  3  4  5  6  7  8  9    

ГЛАВА 10
Каскадные таблицы стилей
Каскадные таблицы стилей CSS — это довольно позднее нововведение. Если сам HTML появился в 1989 году, то таблицы стилей — только в 1997. Мало того, таблицы стилей не считаются частью HTML , а "гуляют сами по себе", как кошка Киплинга. И если вы зайдете на сайт WWWC ( http://www.w3c.org ) , то увидите, что на описание HTML ведет одна гиперссылка, а на описание CSS — другая.
Связано это с тем, что WWW была создана учеными как средство для обмена текстовыми документами, a HTML был языком, с помощью которого создавали эти документы. Для ученых главным было содержимое документа, а не его оформление. Поэтому первые версии HTML не включали даже средств для размещения на Web -страницах графических изображений, не то что для сложного форматирования текста. Но время шло, и в Интернет пришел обыватель, тотчас потребовавший от Web -дизайнеров "сделать ему красиво". А Web -дизайнеры, в свою очередь, потребовали от разработчиков стандарта HTML средств, облегчающих им работу.
Так и возникли каскадные таблицы стилей. В настоящее время приняты спецификации CSS 1 и CSS 2, идет работа над CSS 3. Однако современные Web -обозреватели, да и то самые последние их версии, полностью поддеривают только CSS 1 и, частично, CSS 2.
Но даже стандарт CSS 1 таблиц стилей предлагает такое, что вы ахнете. Куда гам HTML с его примитивным форматированием!
Введение в каскадные таблицы стилей
Что же представляют собой каскадные таблицы стилей? Как они могут помочь нам? Как они создаются, в конце концов? И нужно ли их использовать?
Зачем они нужны
В конце предыдущей главы был приведен пример, когда таблицы стилей могут нам здорово помочь. Вспомним его еще раз.
Вы создали сложный Web-сайт с большим количеством объемистых страниц. Текст этих страниц очень сложно отформатирован: обильно использу­ются различные шрифты разных цветов и размеров, жирное и курсивное выделения и т. п. В частности, все цитаты выделены красным курсивным шрифтом. Сайт создан, опубликован и достаточно давно работает; посетители довольны, никаких неполадок нет, все ошибки давно исправлены, и вы о своем сайте уже, честно говоря, забыли.
Вдруг, откуда ни возьмись, — распоряжение начальства: срочно выделить цитаты на сайте еще и уменьшенным шрифтом. (Этому начальству всегда нечего делать, как давать идиотские указания...) А цитат у вас хватает на всех страницах, вдобавок они разбросаны по всему тексту так, что их нужно еще и поискать. Вспомним также, что сайт очень большой, и страницы его также велики.
Ваши действия?
Чтобы уменьшить шрифт цитаты, его необходимо выделить и выбрать в раскрывающемся списке размеров нужный пункт. Сами понимаете, это крайне трудоемко. Можно также попытаться воспользоваться мощнейшими возможностями, предлагаемыми диалоговым окном Find and Replace . Но, чтобы это сделать, надо правильно ввести подстроки для поиска и замены, для чего нужно долго экспериментировать. Наконец можно воспользоваться регулярными выражениями, но это вообще занятие не для слабонервных. Выходит, так и придется форматировать цитаты вручную?
Почему мы вынуждены так поступать? Чтобы объяснить это, надо немного рассказать о принципах написания и хранения программ и используемых ими данных.
Возьмем любую программу, например Microsoft Word . Данные этой программы (документ) находятся в одном файле (с расширением doc ), а сама программа — в другом (исполняемый файл ехе). Если нужно изменить про­грамму (скажем, вы получили новую версию), вы просто переписываете файл программы, не трогая данные. Если вам надо изменить данные, то вы просто откроете их в программе и измените, а сама программа останется неизмененной.
В этом случае говорят, что данные и их представление (т. е. описание пра­вил отображения этих данных или программа, отображающая эти данные) хранятся отдельно. Преимущество такого подхода в том, что мы можем заменить представление, не трогая сами данные, или отредактировать данные, не трогая представления. Все современные программные продукты строятся на таком принципе; благодаря этому мы можем установить на свой компьютер новую версию программы, сохранив созданные в ней данные.
Это обычные программы. А что же HTML ?
Беда HTML в том, что данные и их представление хранятся в одном файле. Более того, они представляют собой единое целое. Откройте любой HTML -файл в текстовом редакторе (например, Блокноте) и посмотрите на него. Текст перемешан с тегами форматирования самым причудливым образом. Найти какую-то нужную информацию в "сыром" HTML -коде — проблема. И еще большая проблема — изменить способ ее представления: для этого надо "перелопачивать" весь файл с риском повредить сами данные. Это очень неудобно, но что ж поделаешь — таков уж этот HTML ...
И все же было бы очень неплохо создать некий набор правил форматирова­ния различных фрагментов текста в зависимости от их назначения. Этот набор правил хранился бы в отдельном файле, независимо от содержимого Web -страницы. А в HTML -файл записать только сам текст, разбитый на логические фрагменты тегами < p > и < hn >. Таким образом, и данные хранятся отдельно от представления, и форматированы они гораздо "прозрачнее", и нужную информацию искать значительно проще.
У такого подхода есть еще одно преимущество: становится намного легче изменять представление страниц. Скажем, если нам нужно изменить фор­матирование какого-либо типа фрагментов текста, мы просто корректируем соответствующие ему правила в файле правил. После этого Web -обозреватель при следующей загрузке этой страницы покажет все так, как нам надо. Таким образом, мы можем наконец-то изменить вид наших многостра­дальных цитат редактированием всего одного файла вместо того, чтобы править все страницы.
Хорошо? А как вам понравится, если окажется, что все это существует уже достаточно давно, с 1997 года? Да-да, существует и называется каскадными таблицами стилей.
Каскадные таблицы стилей или просто таблицы стилей ( CSS Cascading Style Sheets ) — это набор правил, описывающих форматирование разных фрагментов HTML -кода и хранящихся отдельно от него. Одно такое правило, отображающее форматирование какогото одного фрагмента или однотипной группы фрагментов кода, называется стилем. Таблицы стилей описываются на особом языке CSS и хранятся в особых файлах с расширением ess , хотя могут быть внедрены в саму Web -страницу.
Таблицы стилей, как и многое другое, лучше представить на примере. Давайте рассмотрим небольшой фрагмент классического, "чистого" HTML -кода, созданного без использования таблиц стилей.
<P>FONT COLOR="#FF0000"><I> Это цитата .</I></FONT></P>
Как видите, это одна из тех цитат, которые по приказу нашего гипотетического начальства должны были "измельчать". Давайте же все-таки доставим начальству это удовольствие.
<P><FONT COLOR="#FF0000" SIZE="-1"><I> Это цитата .</I></FONT></P>
С одной цитатой мы справились без труда. А если их сотня? Нет, без таб­лицы стилей тут не обойтись. Перепишем наш пример с использованием стилей.
Сначала напишем саму таблицу стилей.
.cit { font-style: italic;
color: #FF0000 }
Эта таблица стилей содержит определение всего одного стиля — cit . Такой стиль, имеющий уникальное имя (чтобы Web -обозреватель мог однозначно его идентифицировать), называется стилевым классом.
Этот стиль содержит определение параметров для двух атрибутов стиля. Первый атрибут — font - style — задает "стиль" текста; в нашем случае зна­чение italic делает текст курсивом, словно бы его поместили внутрь тега < I >. Второй атрибут — color — задает цвет текста. Как видите, два атрибута стиля cit заменили оба тега: и < font >, и < I >.
Собственно, красивое форматирование текста таблицы стилей, которое вы видите здесь, совсем не обязательно. Ваша таблица стилей может выглядеть и следующим образом:
. cit { font - style : italic ; color : # FF0000 }
Так она получается даже компактнее — весьма немаловажное достоинство во времена господства медленных каналов связи. Но, согласитесь, красиво отформатированный вариант легче читается.
Сохраним нашу таблицу стилей в файле styles.css . И давайте перепишем наш фрагмент HTML -кода так, чтобы он использовал эту таблицу стилей.
< Р CLASS =" cit ">Это цитата .</ Р >
Как видите, достаточно просто добавить в тег < P > атрибут class и в качестве значения присвоить ему имя определенного нами стилевого класса, в на­шем случае cit . Теперь этот фрагмент текста будет форматироваться кур­сивным красным шрифтом уменьшенного размера.
Но, кроме того, нам еще нужно добавить в секцию HTML -заголовка (тег < head >) нашей страницы ссылку на таблицу стиля, чтобы Web -обозреватель смог ее найти. Эта ссылка будет иметь следующий вид:
< LINK REL =" stylesheet " HREF =" styles.css " TYPE =" text / css ">
Вот теперь точно все!
Вы уже, наверно, догадались, что таблицу стилей, сохраненную в отдельном файле, можно использовать во многих Web -страницах. Более того, она ржет находиться вообще на другом сайте. В частности, фирма Microsoft , насколько известно автору, предлагает бесплатно воспользоваться библио-кой таблиц стилей, помещенной на ее сайте. (Внимание: информация непроверенная!)
Кроме того, Web -страница может ссылаться одновременно на несколько блиц стилей. Например , так :
INK REL="stylesheet" HREF="stylesl.css">
INK REL="stylesheet" HREF="styles2.css">
В этом случае она будет использовать стили, определенные в обеих этих блицах. Если же какой-то стиль определен и в одной, и в другой таблице, действие вступает правило каскадности и приоритета, о котором будет рассказано ниже.
Но как же в этом случае уменьшить шрифт всех цитат? Для этого достаточно добавить в определение стилевого класса еще один атрибут и присвоить соответствующее значение. В этом случае таблица стилей будет иметь кой вид (вновь вставленный код выделен полужирным шрифтом):
. cit ( color : #FF0000 ;
font-style: italic;
font-size: smaller }
Здесь мы поместили в определение стиля помещен новый атрибут font - size , задающий размер шрифта. И присвоили ему значение smaller , задающее шрифт на одну ступень меньший, чем у родительского элемента.
Никаких изменений в коде Web -страниц, ссылающихся на эту лицу стилей, нам делать не нужно. Достаточно было только изменить аил таблицы стилей.
Удобно? Еще бы!
А еще с помощью таблицы стилей можно изменить внешний вид любого тег a HTML . Для этого нужно просто переопределить его в таблице стилей дадующим образом:
I { color: #FF0000;
font-size: smaller }
После этого все фрагменты текста, заключенные внутрь тега < I > (курсив), иут отображаться уменьшенным шрифтом красного цвета. Такой стиль зывается стилем переопределения тега.
А если вы создадите такой стиль:
H1 I { color: #FF0000;
font-size: smaller }
то уменьшенным шрифтом красного цвета будет отображаться только текст, заключенный внутрь тега < I >, который, в свою очередь, находится внутри тега < h1>. Вот такой:
<Н1>< I >Курсивный</ I > заголовок</Н1>
А следующий текст:
< I >Обычный курсив</ I >
<Н2>Экспериментируем с < I >курсивом</ I ></Н2>
будет отображаться как обычно.
А такой стиль:
I . cit { color : # FF0000 ;
font-size: smaller }
будет применяться только к тексту, помещенному внутрь тега < I > с атрибутом class , установленном в cit (своеобразный гибрид стилевого класса и переопределения тега; этот стиль так и называется — гибридный), т. е. к такому тексту:
< I СLASS =" cit ">Маленький зеленый курсивчик</ I >
Как видите, тег < I > также поддерживает атрибут class . Вообще, его поддерживают практически все теги, "отвечающие" за видимые элементы страницы. Так что проблем с форматированием страниц у вас возникнуть не должно.
Есть еще один способ применения стиля к элементу страницы: воспользо­ваться атрибутом id , который также поддерживается почти всеми тегами.
< Р ID =" cit ">Это цитата .</ Р >
Тогда определение стиля в таблице должно выглядеть следующим образом:
#cit { font-size: smaller;
font-style: italic }
Такой стиль называется стилем-селектором.
Конечно, в одной таблице стилей вы можете определить одновременно не­сколько стилей:
.cit { font-size: smaller;
font-style: italic }
I { color: #00FF00 }
H1 I { color: #FF0000;
font-size: larger }
Используя стили, можно задать для текста даже такие параметры, о которых и не мечтал "чистый" HTML . Например, можно создать рамку вокруг фраг мента текста или сделать так, что при наведении курсора мыши на текст он (курсор) будет менять форму. Обо всем этом будет рассказано ниже.
C помощью таблиц стилей можно форматировать не только текст. Любому рвменту страницы — изображению, таблице, горизонтальной линии — может быть присвоен стилевой класс.
Например, вы можете переопределить поведение тега < body > таким образом:
BODY { background - color : #000000 }
Здесь мы задали черный цвет фона страницы с помощью нового атрибута
background - color .
К сожалению, это справедливо в полной мере только для последних версий Web -обозревателей. В частности, в старых версиях Navigator поддержка таб­лиц стилей очень ограничена и относится, в основном, к тексту. Но поскольку старыми версиями этой программы вряд ли пользуется много народу вы можете использовать таблицы стилей в своих страницах без опасения, что их "не поймут".
В составе Dreamweaver вместе со справочным руководством по HTML поставляется справочник по CSS . Чтобы вызвать его на экран, сначала вызовите панель Reference , выбрав пункт Reference в меню Window или нажав комбинацию клавиш < Shift >+< F1>. После этого в раскрывающемся списке Book этой панели выберите пункт O ' REILLY CSS Reference . Чтобы просмотреть справочную информацию по какому-либо атрибуту, достаточно выбрать его имя в раскрывающемся списке Style . Мы познакомились с одной из двух разновидностей таблиц стилей — внешней или привязанной. О второй их разновидности, а также об альтернативном способе задания стиля для элемента страницы мы сейчас узнаем.

    1  2  3  4  5  6  7  8  9   Вверх
Copyright©  Бронников М.В 2004г.
Все вопросы комментарии направляйте по адресу SWMR@narod.ru 
  Akavita
Хостинг от uCoz