Таблицы стилей
Таблицы стилей
Мы рассмотрели пять разновидностей стилей CSS. Четыре из них — стилевые классы, стили переопределения тега, именованные и комбинированные стили — могут присутствовать только в таблицах стилей. Это мы уже знаем.
Таблицы стилей, в зависимости от места их хранения, разделяются на два вида.
Внешние таблицы стилей хранятся отдельно от Web-страниц, в файлах с расширением css. Они содержат CSS-код определений стилей.
Листинг 7.4 иллюстрирует пример внешней таблицы стилей.
Листинг 7.4
redtext { color: #FF0000 }
#bigtext { font-size: large } EM { color: #00FF00; font-weight: bold } P EM { color: #0000FF }
Как видим, здесь определены четыре стиля. В принципе, все нам знакомо.
Если внешняя таблица стилей хранится отдельно от Web-страницы, значит, нужно как-то привязать ее к Web-странице. Для этого предназначен одинарный метатег <LINK>, который помещается в секцию заголовка соответствующей Web-страницы. (О метатегах и секциях Web-страниц говорилось в главе 1.) Вот формат его написания:
<LINK REL="stylesheet" HREF="<интернет-адрес файла таблицы стилей>" TYPE="text/css">
Интернет-адрес файла таблицы стилей записывают в качестве значения атрибута HREF этого тега.
Остальные атрибуты тега <LINK> для нас несущественны. Атрибут REL указывает, чем является файл, на который ссылается тег <LINK>, для текущей Web-страницы; его значение "stylesheet" говорит, что этот файл — внешняя таблица стилей. А атрибут TYPE указывает тип MIME файла, на который ссылается данный тег; внешняя таблица стилей имеет тип MIME text/css.
Листинг 7.5
<HEAD>
.
<LINK REL="stylesheet" HREF="main.css" TYPE="text/css">
.
</HEAD>
В примере из листинга 7.5 мы привязали внешнюю таблицу стилей, хранящуюся в файле main.css, к текущей Web-странице.
Преимущество внешних таблиц стилей в том, что их можно привязать сразу к нескольким Web-страницам. Недостаток всего один, да и тот несущественный, — внешняя таблица стилей хранится в отдельном файле, так что есть вероятность его "потерять".
Внутренняя таблица стилей (листинг 7.6) записывается прямо в HTML-код Web- страницы. Ее заключают в парный тег <STYLE> и помещают в секцию заголовка. В остальном она не отличается от ее внешней "коллеги".
Листинг 7.6
<HEAD>
.
<STYLE>
redtext { color: #FF0000 }
#bigtext { font-size: large }
EM { color: #00FF00; font-weight: bold }
P EM { color: #0000FF }
</STYLE>
.
</HEAD>
Преимущество внутренней таблицы стилей в том, что она является неотъемлемой частью Web-страницы и, стало быть, никогда не "потеряется". Недостатков два. Во-первых, стили, определенные во внутренней таблице стилей, применяются только к той Web-странице, в которой эта таблица стилей находится. Во-вторых, внутренняя таблица стилей не соответствует концепции Web 2.0, требующей отделять содержимое Web-страницы от ее представления.
В одной и той же Web-странице могут присутствовать сразу несколько таблиц стилей: несколько внешних и внутренняя (листинг 7.7).
Листинг 7.7
<HEAD>
.
<LINK REL="stylesheet" HREF="styles1.css" TYPE="text/css">
<LINK REL="stylesheet" HREF="styles2.css" TYPE="text/css">
.
<STYLE>
.
</STYLE>
.
</HEAD>
В таком случае действие всех этих таблиц стилей складывается. А по каким правилам — мы сейчас выясним.
Правила каскадности и приоритет стилей
Как мы уже выяснили, на один и тот же элемент Web-страницы могут действовать сразу несколько стилей. Это могут быть стили разных видов (стиль переопределения тега, стилевой класс, комбинированный стиль, встроенный стиль) или определенные в разных таблицах стилей (внешних и внутренней). Такое встречается сплошь и рядом, особенно на Web-страницах со сложным оформлением.
Но как Web-обозреватель определяет, какой именно стиль применить к тому или иному элементу Web-страницы? Мы уже знаем, что в таких случаях действие стилей как бы складывается. Но по каким правилам?
Предположим, что мы создали внешнюю таблицу стилей (листинг 7.8).
Листинг 7.8
redtext { color: #FF0000 }
#bigtext { font-size: large }
EM { color: #00FF00; font-weight: bold }
После этого мы изготовили Web-страницу, содержащую внутреннюю таблицу стилей (листинг 7.9).
Листинг 7.9
<STYLE>
redtext { color: #0000FF } EM { font-size: smaller }
</STYLE>
А в самой Web-странице написали вот такой фрагмент HTML-кода:
<P CLASS="redtext">Это красный текст.</P>
<P ID="bigtext" STYLE="color: #FFFF00">Это большой текст.<P>
<P><EM>Это курсив.</EM></P>
Хорошо видно, что на элементы этой Web-страницы действуют сразу по нескольку стилей. Так, во второй строке кода к тегу <P> привязаны и именованный стиль bigtext, и встроенный стиль. Но этого мало — и внешняя, и внутренняя таблицы стилей содержат определение двух одинаковых стилей — стилевого класса redtext и стиля переопределения тега <EM>!
Так что же мы получим в результате?
Рассмотрим сначала последнюю строку приведенного HTML-кода с тегом <EM>. Сначала Web-обозреватель загрузит, обработает и сохранит в памяти внешнюю таблицу стилей. Затем он обработает внутреннюю таблицу стилей и добавит все содержащиеся в ней определения стилей к уже хранящимся во внешней таблице стилей. Это значит, что стили переопределения тега <EM>, заданные в разных таблицах стилей, будут сложены, и результирующий стиль, написанный на языке CSS, станет таким:
EM { color: #00FF00; font-size: smaller; font-weight: bold }
Именно его и применит Web-обозреватель ко всем тегам <EM>, что присутствуют на Web-странице.
Вторая строка HTML-кода, что содержит тег со встроенным стилем, будет обработана так же. Web-обозреватель добавит к считанному из внешней таблицы стилей определению именованного стиля bigtext определение встроенного стиля. Результирующий стиль, если записать его на языке CSS, будет таким:
#bigtext { color: $FFFF00; font-size: large }
И, наконец, самая трудная задача — первая строка HTML-кода. Поскольку оба определения стилевого класса redtext задают один и тот же параметр — цвет текста (атрибут стиля color) — Web-обозреватель поступит так. Он отменит значение этого атрибута, заданное в стиле из внешней таблицы стилей, и заменит его тем, что задано в стиле из внутренней таблицы стилей. Поскольку, с его точки зрения и с точки зрения стандартов CSS, внутренняя таблица стилей — это та рубашка, что "ближе к телу". И тогда результирующий стиль будет таким:
redtext { color: #0000FF }
Здесь мы столкнулись с тем, что стили разных видов и заданные в разных таблицах стилей имеют разный приоритет. Web-обозреватель руководствуется этим приоритетом, когда формирует в своей памяти окончательные определения стилей.
Теперь познакомимся с правилами, описывающими поведение Web-обозревателя при формировании окончательных стилей. Их еще называют правилами каскадности.
— Внешняя таблица стилей, ссылка на которую (тег <LINK>) встречается в HTML- коде страницы позже, имеет приоритет перед той, ссылка на которую встретилась раньше.
— Внутренняя таблица стилей имеет приоритет перед внешними.
— Встроенные стили имеют приоритет перед любыми стилями, заданными в таблицах стилей.
— Более конкретные стили имеют приоритет перед менее конкретными. Это значит, например, что стилевой класс имеет приоритет перед стилем переопределения тега, поскольку стилевой класс привязывается к конкретным тегам. Точно так же комбинированный стиль имеет приоритет перед стилевым классом.
— Если к тегу привязаны несколько стилевых классов, то те, что указаны правее, имеют приоритет перед указанными левее.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Глава 7 Введение в таблицы стилей и язык CSS
Глава 7 Введение в таблицы стилей и язык CSS 7.1. Встраивание CSS в HTML7.2. Синтаксис CSS7.3. Селекторы7.4. Псевдоэлементы и псевдоклассы7.5. Правило @media7.6. Правила!important7.7. Правило @imporВ этой главе вы изучите основы языка CSS. Вы увидите, насколько легко разрабатываются таблицы стилей. Для
Упрощенные таблицы стилей
Упрощенные таблицы стилей Как можно заметить на основе рассмотренного до сих пор материала, создавать таблицы стилей XSLT не так-то просто. W3C попытался облегчить эту процедуру, разработав упрощенные таблицы стилей (simplified stylesheets), в которые не нужно — а на самом деле и
Встроенные таблицы стилей
Встроенные таблицы стилей Рекомендация XSLT также поддерживает встроенные таблицы стилей, embedded stylesheets (вслед за использованием встроенных таблиц стилей и элементов стиля в HTML), но, как и упрощенные таблицы стилей, они не очень распространены.Встроенные таблицы стилей
Преобразование в XSL-FO при помощи таблицы стилей XSLT
Преобразование в XSL-FO при помощи таблицы стилей XSLT В этой главе я создам таблицу стилей для преобразования planets.xml в planets.fo. Я буду создавать таблицу шаг за шагом; для справки я приведу ее окончательный вид (листинг 11.2).Листинг 11.2. planets.xsl<?xml
Создание стилей CSS
Создание стилей CSS Обычный формат определения стиля CSS иллюстрирует листинг 7.1. Листинг 7.1 <селектор> { <атрибут стиля 1>: <значение 1>; <атрибут стиля 2>: <значение 2>; . <атрибут стиля n-1>: <значение n-1>; <атрибут стиля n>: <значение n> } Вот основные правила
Таблицы стилей
Таблицы стилей Мы рассмотрели пять разновидностей стилей CSS. Четыре из них — стилевые классы, стили переопределения тега, именованные и комбинированные стили — могут присутствовать только в таблицах стилей. Это мы уже знаем.Таблицы стилей, в зависимости от места их
Каскадные (иерархические) таблицы стилей
Каскадные (иерархические) таблицы стилей http://www.w3.org/Style/Web Style Sheets – стандарты.http://www.webreview.com/guides/style/ – Web Review Style Sheets Reference Guide – справочное
Каскадные таблицы стилей — CSS
Каскадные таблицы стилей — CSS Вообще, все уважающие себя веб-мастера используют в своей работе так называемые каскадные таблицы стилей (CSS). Что это такое? Сайт, как правило, состоит из нескольких страничек. Их может быть и десять, и сто, и даже несколько тысяч. Естественно,
Панель стилей
Панель стилей Панель стилей Styles, показанная на рис. 2.7, предназначена для создания новых текстовых, размерных и табличных стилей. Рис. 2.7. Панель стилейПанель содержит следующие инструменты: Text Style… – создание новых и редактирование имеющихся текстовых стилей; Dimension Style…
Использование стилей
Использование стилей Вы можете быстро применить стиль оформления к выделенному диапазону ячеек. Стиль включает в себя цвет заливки, а также цвет и атрибуты шрифта.Чтобы применить к ячейке или диапазону готовый стиль, нужно предварительно выделить эту ячейку или
Панель стилей
Панель стилей Панель стилей Styles, показанная на рис. 2.6, предназначена для создания новых текстовых, размерных и табличных стилей. Рис. 2.6. Панель стилейПанель содержит следующие инструменты: Text Style… – создание новых и редактирование имеющихся текстовых стилей; Dimension
Панель стилей
Панель стилей Панель стилей Styles, показанная на рис. 2.7, предназначена для создания новых текстовых, размерных и табличных стилей. Рис. 2.7. Панель стилейПанель содержит следующие инструменты: Text Style… – создание новых и редактирование имеющихся текстовых стилей; Dimension Style…
Панель стилей
Панель стилей Панель стилей Styles, показанная на рис. 2.3, предназначена для создания новых текстовых, размерных и табличных стилей. Рис. 2.3. Панель стилейПанель содержит следующие инструменты: Text Style… – создание новых и редактирование имеющихся текстовых стилей; Dimension Style…
Создание стилей
Создание стилей Вы установили основные параметры текста для ввода технических требований. Однако прежде чем закрыть данное окно, сохраним эти настройки. Иначе каждый раз перед вводом технических требований на очередном листе вашего проекта придется вводить все