Правила каскадности и приоритет стилей
Правила каскадности и приоритет стилей
Как мы уже выяснили, на один и тот же элемент 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 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Приоритет процесса
Приоритет процесса Наиболее широко распространенным типом алгоритмов планирования является планирование с управлением по приоритетам (priority-based). Идея состоит в том, чтобы расположить процессы по порядку в соответствии с их важностью и необходимостью использования
Приоритет
Приоритет Пожалуй, наиболее часто приходится переопределять именно приоритет, с которым будет выполняться создаваемый поток. При запуске потока с параметрами по умолчанию его приоритет устанавливается равным приоритету порождающего потока. Примечание При запуске
Создание стилей CSS
Создание стилей CSS Обычный формат определения стиля CSS иллюстрирует листинг 7.1. Листинг 7.1 <селектор> { <атрибут стиля 1>: <значение 1>; <атрибут стиля 2>: <значение 2>; . <атрибут стиля n-1>: <значение n-1>; <атрибут стиля n>: <значение n> } Вот основные правила
Таблицы стилей
Таблицы стилей Мы рассмотрели пять разновидностей стилей CSS. Четыре из них — стилевые классы, стили переопределения тега, именованные и комбинированные стили — могут присутствовать только в таблицах стилей. Это мы уже знаем.Таблицы стилей, в зависимости от места их
Приоритет операторов
Приоритет операторов Последний вопрос, который мы здесь разберем, — приоритет операторов. Как мы помним, приоритет влияет на порядок, в котором выполняются операторы в выражении.Пусть имеется следующее выражение:a = b + c — 10;В этом случае сначала к значению переменной b
Приоритет процесса (Nice Number)
Приоритет процесса (Nice Number) Относительный приоритет процесса, учитываемый планировщиком при определении очередности запуска. Фактическое же распределение процессорных ресурсов определяется приоритетом выполнения, зависящим от нескольких факторов, в частности от
Правила каскадности и приоритет стилей
Правила каскадности и приоритет стилей Как мы уже выяснили, на один и тот же элемент Web-страницы могут действовать сразу несколько стилей. Это могут быть стили разных видов (стиль переопределения тега, стилевой класс, комбинированный стиль, встроенный стиль) или
Приоритет операторов
Приоритет операторов Последний вопрос, который мы здесь разберем, — приоритет операторов. Как мы помним, приоритет влияет на порядок, в котором выполняются операторы в выражении.Пусть имеется следующее выражение:a = b + c — 10;В этом случае сначала к значению переменной b
6.13.4 Приоритет и тип обслуживания
6.13.4 Приоритет и тип обслуживания Первоначальным спонсором набора протоколов TCP/IP было Министерство обороны США, для которого было важно задание приоритетов датаграмм. Приоритеты мало используются вне военных и правительственных организаций. Для приоритета
22.6.1 Приоритет
22.6.1 Приоритет Поле Priority выполняет две функции. При управлении нагрузкой для трафика TCP большим номерам соответствуют управляющие пакеты и интерактивный трафик, а меньшим номерам — обычный трафик. Определены следующие значения:0 Трафик не специфицирован1 Заполняющий
9.2.4. Приоритет процесса: команды nice и renice
9.2.4. Приоритет процесса: команды nice и renice Каждому процессу в системе назначен определённый приоритет, который учитывается планировщиком процессов при выделении процессу процессорного времени. Значение приоритета находится в диапазоне от -20 (наивысший приоритет) до 19
9.6. Приоритет чтения и записи
9.6. Приоритет чтения и записи В нашей реализации блокировок чтения-записи в разделе 8.4 приоритет предоставлялся ожидающим записи процессам. Теперь мы изучим детали возможного решения задачи читателей и писателей с помощью блокировки записей fcntl. Хочется узнать, как
Пример: имеют ли приоритет запросы на запись перед запросами на чтение?
Пример: имеют ли приоритет запросы на запись перед запросами на чтение? Следующий вопрос, на который мы попытаемся дать ответ, таков: есть ли приоритет у запросов на блокировку записи перед запросами на блокировку чтения, если все они находятся в очереди? Некоторые
Приоритет и порядок выполнения
Приоритет и порядок выполнения Приоритет и ассоциативность операций языка Си влияют на порядок группирования операндов и вычисления операций в выражении. Приоритет операций существен только при наличии нескольких операций, имеющих различный приоритет. Выражения с
Приоритет операторов
Приоритет операторов Приоритет определяет порядок, в котором операторы и создаваемые ими значения вычисляются в выражении.Когда выражение содержит несколько операторов одного и того же типа, операторы вычисляются слева направо, если только не существует конфликта,
Приоритет операций
Приоритет операций Приоритет определяет порядок выполнения операций в выражении. Первыми выполняются операции, имеющие высший приоритет. Операции, имеющие одинаковый приоритет, выполняются слева направо.Таблица приоритетов операций @, not, ^, +, - (унарные), new 1