Logo    
Новости мира IT Форумы Новые публикации Учебный центр Книжный магазин Реклама
CitForum    Весь CITForum на CD !!! Море(!) аналитической информации! :: CITFORUM.RU   

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Круглый стол "Конфликт менеджмента и ИТ:
от непонимания к синергии"

11 марта 2004г., Москва, "Марриотт Гранд Отель"

1.8. Каскадные таблицы стилей (Cascad Style Sheets)

Каскадные таблицы стилей были предложены w3c(WWW Consorcium) в рамках разработки спецификации HTML 3.0. Однако, реализованы в реально действующих навигаторах они были только в 1997 году. Фактически, в качестве применяемой HTML-разметки они стали доступны только с версий Netscape Navigator 4.0 и Internet Explorer 4.0.

Идея положенная в основу таблиц достаточно проста. К версии 4.0 HTML превращется в язык разметки, опирающийся на контейнерное представление документа, т.е. документ - это множество вложенных в друг друга контейнеров, каждый из которых имеет свои свойства по представлению информации. Многие контейнеры можно сгруппировать в классы однотипных контейнеров, например, заголовки или параграфы. Свойства контейнера, перечисляются в качестве атрибутов тага начала контейнера. При этом у большинства контейнеров, начиная с версии HTML 3.0 набор этих атрибутов типизирован.

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

	<style type="text/css">
	<!-- Описание стилей -->
	</style>
Вообще говоря, в Netscape поддерживают еще одну нотацию описание таблиц стилей - нотация JavaScript:
	<style type="text/javascript">
	<!-- Описание стилей -->
	</style>

При описании таблиц стилей мы будем опираться на документацию Netscape, т.к. - это наиболее популярный браузер Internet. Internet Explorer поддерживает только спецификацию w3c.

Начнем с простого примера. Нужно описать стили отображения текста в параграфе и заглавии документа:

Пример 1.28

	<html>
	<head>
	style type="text/css">
	p {color:blue; font-family: times; font-size:10pt;}
	h1 {color:black; font-size:12pt; font-style:Arial; text-align: center;}
	</style>
	</head>
	<body>
	<h1>Test Style Sheets in Communicator</h1>
	<p> This is a first part of the document
	</body>
	</html>

То же самое но в JavaScript-нотации будет выглядеть следующим образом:

Пример 1.29

	<html>
	<head>
	<style type="text/javascript">	tags.p.color="blue";
	tags.p.fontFamily="times";
	tags.p.fontSize="10pt";
	tags.h1.color="black";
	tags.h1.fontSize="12pt";
	tags.h1.fontStyle="Arial";
	tags.h1.textAlign-"center";
	</style>
	</head>
	<body>
	<h1>Test Style Sheets in Communicator</h1>
	<p> This is a first part of the document
	</body>
	</html>

Сoзданный таким образом документ будет отображаться следующим образом:

Рис. 1.28. Пример отображения документа с каскадными описателями стилей

Разберем теперь описатели стилей более подробно. Определим область их применения и способы встраивания в документ.

Новые HTML-контейнеры

С появлением таблиц стилей в языке появилось три новых контейнера: STYLE, LINK, SPAN. Вообще говоря LINK - это не новый таг, а новое применение старого тага.

Контейнер STYLE(<style type="...">......</style>) служит для определения таблицы описания стилей. Хотя в спецификации CSS прямо не говорится, в каком контейнере документа следует применять STYLE, тем не менее, в примерах чаще всего приводится этот контейнер внутри контейнера HEAD.

Контейнер LINK в контексте описателей стилей применяется для определения внешнего файла с описаниями стилей для данного документа. Например, внешний файл может содержать следующее описание стилей:

	/* contents of the external style sheets file  css.htm*/
	p {color:blue; font-family: times; font-size:10pt;}
	h1 {color:black; font-size:12pt; font-style:Arial; text-align: center;}
	/* the end of style sheets definition */

Для применения этого описателя стилей в заголовок документа необходимо включить следующий таг:

Пример 1.30

	<html>
	<head>
	<link REL=STYLESHEET TYPE="text/css" HREF=http://localhost/css.htm>
	</head>
	<body>
	The body of the document should be here.
	</body>
	</html>

Из данного примера видно, что писание стилей в фале css.htm полностью совпадает с описанием в контейнере STYLE. В тексте файла описания стилей не нужно указывать таги контейнера STYLE.

Контейнер SPAN применяется для переопределения стиля отображения текущего фрагмента текста и в некотором смысле аналогичен контейнеру FONT. Часто SPAN применяют для достижения типографских эффектов, таких например, как выделение заглавной буквы абзаца:

Пример 1.31

	<HTML>
	<!--
	Author:	Paul Khramtsov
	Date:	September 19, 1997
	URL:	http://polyn.kiae.su/Internet/intro.html
	-->
	<HEAD>
	<style TYPE="text/css">
	FS.all { color:red; font-size: 24pt; font-family: times;}
	H1 {color:navy; text-transform: uppercase;font-size: 18pt; 
	font-weight: bold; font-family: times;}
	H2 {color:navy; font-size: 14pt; font-weight: bold; font-style: italic; 
	font-family: times;}
	H3 {color:navy; font-size: 10pt; font-weight: bold; font-family: times;}
	P  {color:navy; font-size: 12pt; font-family: times; text-align: justify}
	P.HELP {color:darkgreen; font-size: 10pt; font-family: times; 
	text-align: justify;}
	P.LEFT {color:navy; font-size: 12pt; font-family: times; text-align: right;}
	</style>
	</HEAD>
	<BODY bgcolor=lightyellow>
	<center>
	<h3>Центр информационных технологий</h3>
	<h1>Информационные Ресурсы Internet</h1>
	<h3>(Учебное пособие для компьютерных непрофессионалов)</h3>
	<h3>Храмцов П.Б.</h2>
	<h3>Москва, 1997</h2>
	<hr>
	</center>
	<p><span class=FS>C</span>обществу глобальных компьютерных сетей 
	Internet в 1995 году исполнилось 25 лет. На настоящий момент - это самый
	большое информационный ресурс мира. Одновре-менно Internet - это самая 
	популярная и массовая компьютерная сеть планеты. По оценкам международного 
	центра координации сетевой деятельности в рамках Internet(Internic-Internet 
	Information Center) на 1997 год в сети насчитывалось несколько десятков 
	миллионов постоянно зарегистрированных компьютеров-серверов, которые 
	откликаются на запросы пользователей 365 дней в году и 24 часа в сутки. Этот 
	огромный информационный ресурс полностью децентрализован и не подчиняется ни 
	одному правительству или крупной финансовой компании мира.
	</BODY>
	</HTML>

В данном примере, контейнер SPAN применен сразу после тага начала параграфа <p>, что позволяет выделить первую букву в отображаемом абзаце:

Рис. 1.29. Эффект от применения контейнера SPAN

Кроме новых контейнеров таблицы описания стилей привнесли еще и новые атрибуты в известные таги.

Новые свойства контейнеров HTML

Перечень новых атрибутов у тагов HTML следует начать с атрибута STYLE. Этот атрибут используется для определения стиля отображаемого контейнера непосредственно внутри тага начала контейнера:

	<h3 style="line-hieght:24pt; font-weight:bold; color: blue">The blue text
	<h3 style="lineHeight='24pt'; fontWeght='bold'; color='blue'">The blue text
Можно также определить класс стилей и использовать его при помощи атрибута CLASS:
	<style type="text/css">
	h3.class1 {font-size:12pt;color=blue}
	</style>
	.....
	<h3 class="class1">This is a blue text
В данном случае мы определили класс заголовков третьего уровня, но можно определить класс, который можно будет применять к любым контейнерам, а не только к заголовкам:
	<style type="text/css">
	all.class1 {font-size:12pt;color=blue}
	</style>
Kроме определения классов существует еще возможность создания поименованных стилей. Поименованный стиль создается как уточнение какого-либо класса:
	<style type="text/css">
	all.class1 {font-size:12pt;color=blue}
	#C1 { font-size: 20;}
	</style>
	....
	<h3 class="class1">This is a blue text
	<h3 class="class1" id="C1">This is a blue text

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

Свойства контейнеров, управляемые описателями стилей

Первую группу свойств составляют свойства шрифтов:


font-size, font-family, font-weight, font-style.

Вторую группу свойств составляют свойства текста:


line-height, text-decoration, text-transform, text-align, text-indent.

Третью группу свойств составляют свойства блоков текста:


margin-left, margin-right, margin-top, margin-bottom, margin, padding-top, padding-right, padding-bottom, padding-left, paddings, border-top-width, border-bottom-width, border-left-width, border-right-width, border-width, border-style, border-color

Четвертую группу составляют описатели цвета фона и цвета текста:


color, background-image, background-color.

Кроме того, существуют свойства определяющие тип пульки у элементов списка и ряд других свойств элементов HTML-разметки.

Назад | Содержание | Вперед


Google
WWW CITForum.ru

Подписка на новости библиотеки:

Новые поступления в on-line библиотеку:

4 марта

  • Разработка критериев анализа систем автоматизации тестирования
  • Проблемы математического, алгоритмического и программного обеспечения компьютерной безопасности в Интернет
  • Возможности нападения на информационные системы банка из Интернета и некоторые способы отражения этих атак

    26 февраля

  • Системы обнаружения аномалий: новые идеи в защите информации
  • Средства разработки Java-приложений
  • Особенности работы Delphi с "русским" Excel'ем
  • Использование наследования форм для создания обработчика однотипных операций

    24 февраля

  • Тотальное внедрение: есть ли альтернатива?
  • Наследование типов объектов в Oracle
  • О беспроводных решениях
  • Обязательный Wi-Fi?
  • Стандарт для городских просторов

    19 февраля

  • Жизненный цикл обслуживания продуктов
  • Управление компанией можно довести до автоматизма
  • Вести с магнитных полей
  • Большие ЖК-мониторы для больших целей
  • WINNTик и ШпуNTик или Ставим В2К после В2К3

    17 февраля

  • Внедрение ИС: через тернии к звездам
  • Автоматизация документооборота компании - непростой выбор
  • Использование языка макрокоманд в AllFusion ERwin Data Modeler
  • Flash и CBuilder
  • Оптимизация соединения с Интернет

    12 февраля

  • Англо-русский и русско-английский словарь криптографических терминов
  • Информационная безопасность: экономические аспекты
  • Подход UniTesK к разработке тестов: достижения и перспективы
  • Динамическая поддержка расширений процессора в кросс-системе
  • О некоторых задачах анализа и трансформации программ

    10 февраля

  • Лучшие практические методы администрирования СУБД Oracle9i (часть I)
  • Атака на Windows NT
  • Чем измерить безопасность Интернет?

    Обзоры журнала Computer:

  • Скрытые контракты .NET
  • Web-сервисы: на пути к зрелости

    5 февраля

  • Команда "шаг" в параллельных отладчиках
  • Эвристики распределения задач для брокера ресурсов Grid
  • Серверы от российских разработчиков
  • Технология LaGrande: аппаратная защита будущего
  • Старые песни о главном
    О новых разработках в области полупроводников
  • Время собирать камни
    Обзор элементной базы для построения беспроводных сетей
  • Очипованный мир
    О технологии Radio Frequency IDentification - RFID
  • Киберкрыша
  • Mediation в телекоммуникациях или Что такое предбиллинг

    Все новости >>>

  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Реклама на IT-портале citforum.ru

    Нестандартные PR-акции - pr@citforum.ru
    Пресс-релизы и информация в каталог компаний - manager@citforum.ru
    Комментарии: info@citforum.ru Rambler's Top100 Copyright ©
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.