Взвешиваем селекторы CSS.

Аббревиатура CSS расшифровывается как Cascading Style Sheets (каскадные таблицы стилей), где одним из ключевых слов выступает «каскад». Под каскадом в данном случае понимается одновременное применение разных стилевых правил к элементам документа - с помощью подключения нескольких стилевых файлов, наследования свойств и других методов. Чтобы в подобной ситуации браузер понимал, какое в итоге правило применять к элементу, и не возникало конфликтов в поведении разных браузеров, введены некоторые приоритеты.

Ниже приведены приоритеты браузеров, которыми они руководствуются при обработке стилевых правил. Чем выше в списке находится пункт, тем ниже его приоритет, и наоборот.

  1. Стиль браузера.
  2. Стиль автора.
  3. Стиль пользователя.
  4. Стиль автора с добавлением!important.
  5. Стиль пользователя с добавлением!important.

Самым низким приоритетом обладает стиль браузера - оформление, которое по умолчанию применяется к элементам веб-страницы браузером. Это оформление можно увидеть в случае «голого» HTML, когда к документу не добавляется никаких стилей.

Как задавать пользовательский стиль рассказывалось в (см. рис. 1.3 и 1.4).

!important

Ключевое слово !important играет роль в том случае, когда пользователи подключают свою собственную таблицу стилей. Если возникает противоречие, когда стиль автора страницы и пользователя для одного и того же элемента не совпадает, то !important позволяет повысить приоритет стиля или его важность, иными словами.

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

  • !important добавлен в авторский стиль - будет применяться стиль автора.
  • !important добавлен в пользовательский стиль - будет применяться стиль пользователя.
  • !important нет как в авторском стиле, так и стиле пользователя - будет применяться стиль пользователя.
  • !important содержится в авторском стиле и стиле пользователя - будет применяться стиль пользователя.

Синтаксис применения !important следующий.

Свойство: значение!important

Вначале пишется желаемое стилевое свойство, затем через двоеточие его значение и в конце после пробела указывается ключевое слово !important .

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

Специфичность

Если к одному элементу одновременно применяются противоречивые стилевые правила, то более высокий приоритет имеет правило, у которого значение специфичности селектора больше. Специфичность это некоторая условная величина, вычисляемая следующим образом. За каждый идентификатор (в дальнейшем будем обозначать их количество через a) начисляется 100, за каждый класс и псевдокласс (b) начисляется 10, за каждый селектор тега и псевдоэлемент (c) начисляется 1. Складывая указанные значения в определённом порядке, получим значение специфичности для данного селектора.

* {} /* a=0 b=0 c=0 -> специфичность = 0 */ li {} /* a=0 b=0 c=1 -> специфичность = 1 */ li:first-line {} /* a=0 b=0 c=2 -> специфичность = 2 */ ul li {} /* a=0 b=0 c=2 -> специфичность = 2 */ ul ol+li {} /* a=0 b=0 c=3 -> специфичность = 3 */ ul li.red {} /* a=0 b=1 c=2 -> специфичность = 12 */ li.red.level {} /* a=0 b=2 c=1 -> специфичность = 21 */ #t34 {} /* a=1 b=0 c=0 -> специфичность = 100 */ #content #wrap {} /* a=2 b=0 c=0 -> специфичность = 200 */

Встроенный стиль, добавляемый к тегу через атрибут style , имеет специфичность 1000, поэтому всегда перекрывает связанные и глобальные стили. Однако добавление !important перекрывает в том числе и встроенные стили.

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

В примере 19.1 показано, как влияет специфичность на стиль элементов списка.

Пример 19.1. Цвет списка

HTML5 CSS 2.1 IE Cr Op Sa Fx

Список

В данном примере цвет текста списка задан зелёным, а второй пункт списка с помощью класса two выделен красным цветом. Вычисляем специфичность селектора #menu ul li - один идентификатор (100) и два тега (2) в сумме дают значение 102, а селектор .two будет иметь значение специфичности 10, что явно меньше. Поэтому текст окрашиваться красным цветом не будет. Чтобы исправить ситуацию, необходимо либо понизить специфичность первого селектора, либо повысить специфичность второго (пример 19.2).

Пример 19.2. Изменение специфичности

/* Понижаем специфичность первого селектора */ ul li {...} /* Убираем идентификатор */ .two {...} /* Повышаем специфичность второго селектора */ #menu ul li {...} #menu .two {...} /* Добавляем идентификатор */ #menu ul li {...} .two { color: red !important; } /* Добавляем!important */

Добавление идентификатора используется не только для изменения специфичности селектора, но и для применения стиля только к указанному списку. Поэтому понижение специфичности за счёт убирания идентификатора применяется редко, в основном, повышается специфичность нужного селектора.

Вопросы для проверки

1. Какая специфичность будет у селектора table.forum tr:hover p?

2. Какая специфичность будет у селектора #catalog .col3 .height div?

CSS (Cascading Style Sheets), или каскадные таблицы стилей , используются для описания внешнего вида документа, написанного языком разметки. Обычно CSS-стили используются для создания и изменения стиля элементов веб-страниц и пользовательских интерфейсов, написанных на языках HTML и XHTML, но также могут быть применены к любому виду XML-документа, в том числе XML, SVG и XUL.

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

Объявление стиля состоит из двух частей: элемента веб-страницы — селектора , и команды форматирования — блока объявления . Селектор сообщает браузеру, какой именно элемент форматировать, а в блоке объявления (код в фигурных скобках) перечисляются форматирующие команды — свойства и их значения.


Рис. 1. Структура объявления CSS-стиля

Виды каскадных таблиц стилей и их специфика

1. Виды таблиц стилей

1.1. Внешняя таблица стилей

Внешняя таблица стилей представляет собой текстовый файл с расширением.css , в котором находится набор CSS-стилей элементов. Файл создаётся в редакторе кода, так же как и HTML-страница. Внутри файла могут содержатся только стили, без HTML-разметки. Внешняя таблица стилей подключается к веб-странице с помощью тега , расположенного внутри раздела . Такие стили работают для всех страниц сайта.

К каждой веб-странице можно присоединить несколько таблиц стилей, добавляя последовательно несколько тегов , указав в атрибуте тега media назначение данной таблицы стилей. rel="stylesheet" указывает тип ссылки (ссылка на таблицу стилей).

Атрибут type="text/css" не является обязательным по стандарту HTML5, поэтому его можно не указывать. Если атрибут отсутствует, по умолчанию используется значение type="text/css" .

1.2. Внутренние стили

Внутренние стили встраиваются в раздел HTML-документа и определяются внутри тега . Внутренние стили имеют приоритет над внешними, но уступают встроенным стилям (заданным через атрибут style).

...

1.3. Встроенные стили

Когда мы пишем встроенные стили , мы пишем CSS-код в HTML-файл, непосредственно внутри тега элемента с помощью атрибута style:

Обратите внимание на этот текст.

Такие стили действуют только на тот элемент, для которого они заданы.

1.4. Правило @import

Правило @import позволяет загружать внешние таблицы стилей. Чтобы директива @import работала, она должна располагаться в таблице стилей (внешней или внутренней) перед всеми остальными правилами:

Правило @import также используется для подключения веб-шрифтов:

@import url(https://fonts.googleapis.com/css?family=Open+Sans&subset=latin,cyrillic);

2. Виды селекторов

Селекторы представляют структуру веб-страницы. С их помощью создаются правила для форматирования элементов веб-страницы. Селекторами могут быть элементы, их классы и идентификаторы, а также псевдоклассы и псевдоэлементы.

2.1. Универсальный селектор

Соответствует любому HTML-элементу. Например, * {margin: 0;} обнулит внешние отступы для всех элементов сайта. Также селектор может использоваться в комбинации с псевдоклассом или псевдоэлементом: *:after {CSS-стили} , *:checked {CSS-стили} .

2.2. Селектор элемента

Селекторы элементов позволяют форматировать все элементы данного типа на всех страницах сайта. Например, h1 {font-family: Lobster, cursive;} задаст общий стиль форматирования всех заголовков h1 .

2.3. Селектор класса

Селекторы класса позволяют задавать стили для одного и более элементов с одинаковым именем класса, размещенных в разных местах страницы или на разных страницах сайта. Например, для создания заголовка с классом headline необходимо добавить атрибут class со значением headline в открывающий тег

и задать стиль для указанного класса. Стили, созданные с помощью класса, можно применять к другим элементам, не обязательно данного типа.

Инструкция пользования персональным компьютером

.headline { text-transform: uppercase; color: lightblue; }

2.4. Селектор идентификатора

Селектор идентификатора позволяет форматировать один конкретный элемент. Идентификатор id должен быть уникальным и на одной странице может встречаться только один раз.

#sidebar { width: 300px; float: left; }

2.5. Селектор потомка

Селекторы потомков применяют стили к элементам, расположенным внутри элемента-контейнера. Например, ul li {text-transform: uppercase;} — выберет все элементы li , являющиеся потомками всех элементов ul .

Если нужно отформатировать потомки определенного элемента, этому элементу нужно задать стилевой класс:

p.first a {color: green;} — данный стиль применится ко всем ссылкам, потомкам абзаца с классом first ;

p .first a {color: green;} — если добавить пробел, то будут стилизованы ссылки, расположенные внутри любого тега класса.first , который является потомком элемента

First a {color: green;} — данный стиль применится к любой ссылке, расположенной внутри другого элемента, обозначенного классом.first .

2.6. Дочерний селектор

Дочерний элемент является прямым потомком содержащего его элемента. У одного элемента может быть несколько дочерних элементов, а родительский элемент у каждого элемента может быть только один. Дочерний селектор позволяет применить стили только если дочерний элемент идёт сразу за родительским элементом и между ними нет других элементов, то есть дочерний элемент больше ни во что не вложен.
Например, p > strong — выберет все элементы strong , являющиеся дочерними по отношению к элементу p .

2.7. Сестринский селектор

Сестринские отношения возникают между элементами, имеющими общего родителя. Селекторы сестринских элементов позволяют выбрать элементы из группы элементов одного уровня.

h1 + p — выберет все первые абзацы, идущие непосредственно за любым тегом

, не затрагивая остальные абзацы;

h1 ~ p — выберет все абзацы, являющиеся сестринскими по отношению к любому заголовку h1 и идущие сразу после него.

2.8. Селектор атрибута

Селекторы атрибутов выбирают элементы на основе имени атрибута или значения атрибута:

[атрибут] — все элементы, содержащие указанный атрибут, — все элементы, для которых задан атрибут alt ;

селектор[атрибут] — элементы данного типа, содержащие указанный атрибут, img — только картинки, для которых задан атрибут alt ;

селектор[атрибут="значение"] — элементы данного типа, содержащие указанный атрибут с конкретным значением, img — все картинки, название которых содержит слово flower ;

селектор[атрибут~="значение"] — элементы частично содержащие данное значение, например, если для элемента задано несколько классов через пробел, p — абзацы, имя класса которых содержит feature ;

селектор[атрибут|="значение"] — элементы, список значений атрибута которых начинается с указанного слова, p — абзацы, имя класса которых feature или начинается на feature ;

селектор[атрибут^="значение"] — элементы, значение атрибута которых начинается с указанного значения, a — все ссылки, начинающиеся на http:// ;

селектор[атрибут$="значение"] — элементы, значение атрибута которых заканчивается указанным значением, img — все картинки в формате png ;

селектор[атрибут*="значение"] — элементы, значение атрибута которых содержит в любом месте указанное слово, a — все ссылки, название которых содержит book .

2.9. Селектор псевдокласса

Псевдоклассы — это классы, фактически не прикрепленные к HTML-тегам. Они позволяют применить CSS-правила к элементам при совершении события или подчиняющимся определенному правилу. Псевдоклассы характеризуют элементы со следующими свойствами:

:hover — любой элемент, по которому проводят курсором мыши;

:focus — интерактивный элемент, к которому перешли с помощью клавиатуры или активировали посредством мыши;

:active — элемент, который был активизирован пользователем;

:valid — поля формы, содержимое которых прошло проверку в браузере на соответствие указанному типу данных;

:invalid — поля формы, содержимое которых не соответствует указанному типу данных;

:enabled — все активные поля форм;

:disabled — заблокированные поля форм, т.е., находящиеся в неактивном состоянии;

:in-range — поля формы, значения которых находятся в заданном диапазоне;

:out-of-range — поля формы, значения которых не входят в установленный диапазон;

:lang() — элементы с текстом на указанном языке;

:not(селектор) — элементы, которые не содержат указанный селектор — класс, идентификатор, название или тип поля формы — :not() ;

:target — элемент с символом # , на который ссылаются в документе;

:checked — выделенные (выбранные пользователем) элементы формы.

2.10. Селектор структурных псевдоклассов

Структурные псевдоклассы отбирают дочерние элементы в соответствии с параметром, указанным в круглых скобках:

:nth-child(odd) — нечётные дочерние элементы;

:nth-child(even) — чётные дочерние элементы;

:nth-child(3n) — каждый третий элемент среди дочерних;

:nth-child(3n+2) — выбирает каждый третий элемент, начиная со второго дочернего элемента (+2) ;

:nth-child(n+2) — выбирает все элементы, начиная со второго;

:nth-child(3) — выбирает третий дочерний элемент;

:nth-last-child() — в списке дочерних элементов выбирает элемент с указанным местоположением, аналогично с:nth-child() , но начиная с последнего, в обратную сторону;

:first-child — позволяет оформить только самый первый дочерний элемент тега;

:last-child — позволяет форматировать последний дочерний элемент тега;

:only-child — выбирает элемент, являющийся единственным дочерним элементом;

:empty — выбирает элементы, у которых нет дочерних элементов;

:root — выбирает элемент, являющийся корневым в документе — элемент html .

2.11. Селектор структурных псевдоклассов типа

Указывают на конкретный тип дочернего тега:

:nth-of-type() — выбирает элементы по аналогии с:nth-child() , при этом берёт во внимание только тип элемента;

:first-of-type — выбирает первый дочерний элемент данного типа;

:last-of-type — выбирает последний элемент данного типа;

:nth-last-of-type() — выбирает элемент заданного типа в списке элементов в соответствии с указанным местоположением, начиная с конца;

:only-of-type — выбирает единственный элемент указанного типа среди дочерних элементов родительского элемента.

2.12. Селектор псевдоэлемента

Псевдоэлементы используются для добавления содержимого, которое генерируется с помощью свойства content:

:first-letter — выбирает первую букву каждого абзаца, применяется только к блочным элементам;

:first-line — выбирает первую строку текста элемента, применяется только к блочным элементам;

:before — вставляет генерируемое содержимое перед элементом;

:after — добавляет генерируемое содержимое после элемента.

3. Комбинация селекторов

Для более точного отбора элементов для форматирования можно использовать комбинации селекторов:

img:nth-of-type(even) — выберет все четные картинки, альтернативный текст которых содержит слово css .

4. Группировка селекторов

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

H1, h2, p, span { color: tomato; background: white; }

5. Наследование и каскад

Наследование и каскад — два фундаментальных понятия в CSS, которые тесно связаны между собой. Наследование заключается в том, что элементы наследуют свойства от своего родителя (элемента, их содержащего). Каскад проявляется в том, как разные виды таблиц стилей применяются к документу, и как конфликтующие правила переопределяют друг друга.

5.1. Наследование

Наследование является механизмом, с помощью которого определенные свойства передаются от предка к его потомкам. Спецификацией CSS предусмотрено наследование свойств, относящихся к текстовому содержимому страницы, таких как color , font , letter-spacing , line-height , list-style , text-align , text-indent , text-transform , visibility , white-space и word-spacing . Во многих случаях это удобно, так как не нужно задавать размер шрифта и семейство шрифтов для каждого элемента веб-страницы.

Свойства, относящиеся к форматированию блоков, не наследуются. Это background , border , display , float и clear , height и width , margin , min-max-height и -width , outline , overflow , padding , position , text-decoration , vertical-align и z-index .

Принудительное наследование

С помощью ключевого слова inherit можно принудить элемент наследовать любое значение свойства родительского элемента. Это работает даже для тех свойств, которые не наследуются по умолчанию.

Как задаются и работают CSS-стили

1) Стили могут наследоваться от родительского элемента (наследуемые свойства или с помощью значения inherit);

2) Стили, расположенные в таблице стилей ниже, отменяют стили, расположенные в таблице выше;

3) К одному элементу могут применяться стили из разных источников. Проверить, какие стили применяются, можно в режиме разработчика браузера. Для этого над элементом нужно щёлкнуть правой кнопкой мыши и выбрать пункт «Посмотреть код» (или что-то аналогичное). В правом столбце будут перечислены все свойства, которые заданы для этого элемента или наследуются от родительского элемента, а также файлы стилей, в которых они указаны, и порядковый номер строки кода.


Рис. 2. Режим разработчика в браузере Google Chrome

4) При определении стиля можно использовать любую комбинацию селекторов — селектор элемента, псевдокласса элемента, класса или идентификатора элемента.

div {border: 1px solid #eee;} #wrap {width: 500px;} .box {float: left;} .clear {clear: both;}

5.2. Каскад

Каскадирование — это механизм, который управляет конечным результатом в ситуации, когда к одному элементу применяются разные CSS-правила. Существует три критерия, которые определяют порядок применения свойств — правило!important , специфичность и порядок, в котором подключены таблицы стилей.

Правило!important

Вес правила можно задать с помощью ключевого слова!important , которое добавляется сразу после значения свойства, например, span {font-weight: bold!important;} . Правило необходимо размещать в конец объявления перед закрывающей скобкой, без пробела. Такое объявление будет иметь приоритет над всеми остальными правилами. Это правило позволяет отменить значение свойства и установить новое для элемента из группы элементов в случае, когда нет прямого доступа к файлу со стилями.

Специфичность

Для каждого правила браузер вычисляет специфичность селектора , и если у элемента имеются конфликтующие объявления свойств, во внимание принимается правило, имеющее наибольшую специфичность. Значение специфичности состоит из четырех частей: 0, 0, 0, 0 . Специфичность селектора определяется следующим образом:

для id добавляется 0, 1, 0, 0 ;
для class добавляется 0, 0, 1, 0 ;
для каждого элемента и псевдоэлемента добавляется 0, 0, 0, 1 ;
для встроенного стиля, добавленного непосредственно к элементу — 1, 0, 0, 0 ;
универсальный селектор не имеет специфичности.

H1 {color: lightblue;} /*специфичность 0, 0, 0, 1*/ em {color: silver;} /*специфичность 0, 0, 0, 1*/ h1 em {color: gold;} /*специфичность: 0, 0, 0, 1 + 0, 0, 0, 1 = 0, 0, 0, 2*/ div#main p.about {color: blue;} /*специфичность: 0, 0, 0, 1 + 0, 1, 0, 0 + 0, 0, 0, 1 + 0, 0, 1, 0 = 0, 1, 1, 2*/ .sidebar {color: grey;} /*специфичность 0, 0, 1, 0*/ #sidebar {color: orange;} /*специфичность 0, 1, 0, 0*/ li#sidebar {color: aqua;} /*специфичность: 0, 0, 0, 1 + 0, 1, 0, 0 = 0, 1, 0, 1*/

В результате к элементу применятся те правила, специфичность которых больше. Например, если на элемент действуют две специфичности со значениями 0, 0, 0, 2 и 0, 1, 0, 1 , то выиграет второе правило.

Порядок подключённых таблиц

Вы можете создать несколько внешних таблиц стилей и подключить их к одной веб-странице. Если в разных таблицах будут встречаться разные значения свойств одного элемента, то в результате к элементу применится правило, находящееся в таблице стилей, идущей в списке ниже.

5. Эстетическая - иерархия стилей, смена мод и т.п.

Довольно обширный пласт литературы, посвященный костюму, имеет в своей основе именно эту классификацию. История костюма, как правило, строится на рассмотрении различных стилей костюма и мод, сменявших друг друга на протяжении существования человечества.

Исследователи современности также активно пользуются этой иерархией в своих работах, рассматривая палитру стилей, одновременно присутствующих в наше время и лежащих в основе наук об имидже. В связи с этим следует отметить, что исследование стиля костюма строится по двум направлениям: исторические стили и современные. В понятие «современные» входят не только стили, возникшие в последние десятилетия текущего столетия, а все то многообразие стилей костюма, которое есть в распоряжении наших современников, а также само отношение к стилю как к инструменту.

Это связано с тем, что на современном этапе развития человечества стиль текущей эпохи можно определить как поливариантность, т. е. его нельзя определить однозначно, он зависит от множества причин и легко меняется в зависимости от ситуации, настроения и т.д. Поэтому мы перечислим основные исторические стили, сформировавшиеся в той или иной эпохе, а затем основные стили, в которых может выразить себя современный человек. Разумеется, многие современные стили имеют в своей основе определенные исторические стили.

Перечислим основные исторические стили:

Античный. Тело рассматривалось как зеркало, должное отразить совершенство мира. Костюм подчинялся законам логики и гармонии. Античный стиль - это образ «греческой колонны», стремящейся в высь к свету и совершенству. Использование тканей определенной ширины в соответствии с размерами ткацкого станка, одежда не кроенная, а собранная в вертикальные складки, наряд выдержан в соответствии со строением человеческой фигуры, обувь - практически одна подошва.

Романский. Нес в себе наследие античности, однако с определенными излишествами. Простое, не прилегающее к фигуре платье (сшиваемое из двух частей) было отделано широкой каймой.

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

Ренессансный. Стремление к гармонии, выраженной в симметрии и отсутствия излишеств. Во всем - только естественные пропорции. Современники пытались создать богатый и элегантный костюм, способный подчеркнуть достоинства человека. Впервые женское платье делится на длинную юбку и лиф. Одежда отличается использованием дорогих тканей, сложных орнаментов, необычным оформлением рукавов, сочетанием двух цветов, материалов.

Барокко. Появление новых материалов, наиболее популярными становятся бархат и металл. Стремление к роскоши и эксцентричности. Официальность, чопорность тяжелых нарядов.

Роккоко. Платья становятся более изящными, громадные наряды уменьшаются до более человеческих размеров. Обилие складок а связи с применением атласа, богатейшее нижнее белье. Преобладание в нарядах пастельных тонов и обилие аксессуаров.

Ампир. Следовал по стопам античной моды (это касалось только дамского костюма). Характерные черты: простота линий, вертикальны складки, смещение линии талии под грудь, рукава-«фонарики», глубокое декольте. В гардеробе мужчин появляется темный фрак, который носили с галстуком, узорчатым жилетом и цилиндром.

Денди. В начале XIX века создается тип скромно, но идеально одетого господина - денди. Главнейший признак - внешняя простота костюма в совокупности с ее дороговизной и совершенным покроем. Возросшая роль галстука, который становится единственным броским украшением на белоснежной рубашке.

Романтизм. Ярче всего этот стиль проявляется в женском костюме, отличительными чертами которого считается приталенный лиф, широкие рукава, множество воланов, рюшек и бантиков, легкие цветовые оттенки, что создает ощущение воздушности и нежности.

Модерн. Эго характеризует отказ от всех старых норм в костюме. Модерн отличает S-образный силуэт дамского костюма, свободные просвечивающие платья, декоративность и экстравагантность в сочетании с фантастическими образами.

Сегодня в костюме развиваются одни стили, рождаются и умирают другие, все их описать просто невозможно. Но все-таки можно выделить несколько из них, имеющих характерные черты и устойчиво существующих в современном костюме. Рассмотрим каждый из них и попутно поясним, какие психологические характеристики мы можем получить вместе с костюмом определенного стиля.

Деловой стиль. Часто подходит под определение «классический», а также носит много элементов спортивного стиля. Основные характеристики - деловой, солидный, серьезный, уверенный в себе, порядочный, внушающий доверие, строго элегантный, удобный.

Данный стиль отличают строгие силуэты, в основном темные либо светлые сдержанные, приглушенные цвета, однотонные материалы (допускаются лишь неконтрастная клетка и полоска). Основную роль играет деловой костюм в сочетании с умело подобранной рубашкой (блузкой), часто белого цвета. Работников умственного труда недаром называют «белые воротнички». Особое внимание уделяется качеству материалов и изготовления. Строгость линий и приглушенная сине-серо-коричневая гамма присутствует во всех аксессуарах и других системах костюма (прическа, макияж). Олицетворяет и подчеркивает разумность, логичность, волю, целеустремленность, сдержанность. Стиль на каждый день - для работы, деловых визитов, официальных поездок.

Романтический. Можно назвать полной противоположностью делового стиля, являясь олицетворением эмоциональности, чувствительности, мечтательности, нежности, сентиментальности. Разумеется, наибольшее распространение он находит у женщин. Можно сказать, что он является олицетворением женственности, подчеркивая все достоинства женской фигуры.

Линии силуэта - мягкие, плавные, обилие драпировок, многообразие характерных отделок (рюши, банты, оборки, жабо, кружева, кокилье, воланы, вышивка. Цвета нежные, мягкие, все оттенки розового и голубого. Рисунки и фактуры - цветочные, растительные, горох, нежные фантазийные. Аксессуары, прическа и макияж утонченные, изысканные, изящные.

Стиль для свиданий, отдыха, вечера, кафе, театра и т. д.

Спортивный. Различные виды спорта подарили миру различные виды костюма - шорты, футболки, бейсболки, лосины. Другим источником спортивного стиля стала одежда для военных действий (теплые удобные куртки, комбинезоны, шлемы, металлическая фурнитура, накладные карманы, рукав реглан). Силуэты этого стиля - прямой, трапециевидный, реже - полуприлегающий и приталенный.

Богатая цветовая палитра, часты контрасты в цвете и фактуре, обилие фурнитуры, нашивки, эмблемы, отстроченные накладные детали. Основные характеристики стиля: удобство, функциональности, раскованность, динамичность.

Разновидности стиля - «сафари», джинсовый, морской. Стиль для поездок, отдыха за городом, дома, для людей активных, динамичных, ценящих в костюме прежде всего практичность и удобство.

Фольклорный. Образуется на основе народного костюма. Основные психологические характеристики - четкая связь с определенным народом, традиционность, народная мудрость, умиротворенность, ассоциации с вечными ценностями. Силуэты, как правило, простые, имеющие выразительные детали народных костюмов. Натуральные материалы и цвета, самый распространенный рисунок - геометрический, хорошо сочетающийся со структурой ткани. Использование таких отделок как вышивка, мережка, кружево, плетение, аппликация, лоскутная техника, бахрома, бисер, металлические детали. Стиль применим для отдыха, театрально-концертных мероприятий, при дружеском общении с иностранцами.

«Кантри». Во многом близок к фольклорному стилю, хотя в нем не выражены ярко признаки того или иного национального костюма. Данный стиль скорее фантазия, вариация на тему сельской жизни, в котором порой угадываются черты многих народный костюмов.

По психологическому воздействию этот стиль схож с пасторалью, излучая непринужденность, приятную расслабленность, беззаботность, мечтательность, простодушие, романтическое представление о жизни и природе.

Цвета, рисунки и материалы - природные: холст, соломка, батист, цветы, пастельные цвета, веселые цветочные рисунки, яркая клетка, в основном серо-коричневая гамма.


Основные социокультурные функции и развивающийся потенциал современного образования. 1. Образование - это один из оптимальных и интенсивных способов вхождения человека в мир науки и культуры. Именно в процессе образования человек осваивает культурные ценности. Содержание образования черпается и непрерывно пополняется из культурного наследия различных стран и народов, из разных отраслей постоянно...


Вобравшую исторический опыт русского народа, его миропонимание и отразивший русский менталитет, религиозные, философско-этические, эстетические установки; 3. Разработать экспериментальную учебно-методическую документацию и дидактическое обеспечение по дисциплине «История русского костюма и моды» по теме «Русский народный костюм» и элективные курсы. Объектом исследования явился исторический...

Образцы на доступный ему язык. С другой стороны постоянным повторением масскульт закрепляет эти образцы, консервирует их, превращает в стереотипы поведения (Где ты был? Пиво пил), не требуя усилий по духовному и интеллектуальному самосовершенствованию. Народная культура и искусство Чувашии Как ученые изучают народную культуру. Своеобразная чувашская культура давно привлекала внимание ученых и...

Внеэкономические предпосылки для эффективной деятельности компании и реализации его сотрудниками своих сил и способностей. 3. Типология организационной культуры. Состояние организационной культуры на российских предприятиях Каков же главный источник организационной культуры? Откуда члены организаций черпают свои духовные ориентиры? Многочисленными социологическими исследованиями был...

Speaker Deck SlideShare

В рамках данного занятия будут рассмотрены уровни стилей (абзацев) их применение, основные правила при построении стилей, а также отличия команд «Определение нового многоуровневого списка» и «Создание нового стиля списка» для многоуровневых списков

Навыки экзамена Microsoft Office Specialist (77-418):

Теоретическая часть:

  1. Уровни стилей в MS Word и создание оглавления

Видеоверсия

Текстовая версия

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

В этом вопросе данного занятия мы рассмотрим уровни стилей, зачем они нужны и как ими пользоваться.

Вообще-то, ответить на вопрос о предназначении уровней стилей можно уже сейчас – они нужны для создания структуры документа, именно видимой структуры, разделения документа на разделы и подразделы. Зачастую структура документа отображена в его оглавлении.

Здесь сделаем два небольших пояснения. Первое касается использование словосочетания «уровни стилей». На самом деле, более правильно говорить «уровень абзаца», поскольку настройка уровня относится к абзацу, да и выставляется она в диалоговом окне «Абзац», но использование данной настройки без использования стиля есть ОЧЕНЬ большая глупость, которая делает невозможным дальнейшее управление текстом. Поэтому, несмотря на то, что настройка относится к абзацу, мы ее будем называть как «уровень стилей».

Второе пояснение относится к слову «раздел». Синонимом для слова «раздел», в контексте рассматриваемого вопроса, будем употреблять слово «глава», хотя, возможно, это не совсем правильно. Также, в предыдущем занятии мы рассматривали разрывы разделов, но там разделы использовались для применения индивидуального форматирования к различным частям макета документа. Сейчас мы будем рассматривать разделы документа в контексте логического изложения материала, названия разделов будут вынесены в оглавление документа, соответственно, данные типы разделов никоем образом не соотносятся с разделами из предыдущего занятия. Таким образом, одна глава документа может содержать несколько разделов оформления макета страницы, так само как один раздел макета страницы может содержать несколько глав документа.

Перейдем непосредственно к уровням стилей

Уровень стиля выставляется в диалоговом окне «Абзац»

Выставляя стилю определенный уровень следует понимать следующее: во-первых, текст, оформленный таким стилем, будет отображаться в структуре документа, а, во-вторых — этот же текст будет использоваться для создания оглавления. Таким образом, выставление уровней применяется к таким стилям, как «Заголовок», а эти стили, в свою очередь, используются для создания разделов структурированного текста.

Максимально можно создать девять уровней вложенности, но, как показывает практика, такое количество уровней даже избыточно, т.к. в профессиональных текстах редко используются заголовки более трех уровней вложенности, а во-вторых, никто не запрещает создавать несколько стилей одного уровня. Более того, если нужно применить разное форматирование к названиям подразделов документа, создать несколько стилей одного уровня просто придется.

Создание структурированного документа

В качестве заголовков разделов документа возьмем названия первых пяти занятий, а подразделами выступят названия вопросов. Соответственно структура будет следующей:


  1. Устройство и правила построения стилей

Видеоверсия

Текстовая версия

В этом занятии мы детально изучим иерархическое устройство стилей и выведем для себя основные правила построения стилей. Несмотря на то, что все сказанное в данном вопросе, в полной мере относится как к стилям абзаца или связанных стилей (абзац + знак), так и к стилям знака, рассматривать здесь будем только стили абзаца и связанного стиля.

Иерархию устройства стилей схематически можно представить следующим рисунком.


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

Иерархия стилей в документе никак не соотносится со структурой самого документа, которая была рассмотрена в предыдущем вопросе.

Отдаленную аналогию можно провести с подрядчиком, который выполняет, к примеру, строительство спортивного комплекса. Для ясности: подрядчик – стили, которые используются для оформления текста; спорткомплекс – документ со своей структурой.

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

Более того, если говорить о стилях по умолчанию (стили, которые находятся в шаблоне normal.dotx), то их иерархия, следующая:


При этом стиль «Обычный» не имеет уровня абзаца, стиль «Заголовок 1» имеет первый уровень, стиль «Заголовок 2» имеет второй уровень, остальные стили, как правило, тоже без уровня.

Как узнать уровень стиля в иерархии стилей в документе?

Узнать уровень стиля в иерархии стилей в один шаг можно только для стиля верхнего уровня или корневого стиля, с увеличением уровня аналогично будет увеличиваться необходимое количество шагов для определения этого самого уровня. Для того, чтобы узнать местоположение стиля в иерархии необходимо открыть окно изменения стиля и посмотреть на параметр «Основан на стиле».


Стиль «Обычный» находится на верхнем уровне иерархии, поскольку он не основан ни на одном из стилей. В тоже время, если открыть окно настройки абзаца для данного стиля, то можно видеть, что данный стиль уровня «Основной текст», другими словами, в структуре документе у него нет уровня. А теперь посмотрим на аналогичные настройки стиля «Заголовок 1» и «Заголовок 2».

Стиль «Заголовок 1»

Стиль «Заголовок 2»


Что же мы видим? Во-первых, они имеют соответствующие настройки уровня Абзаца, поэтому прекрасно подходят для построения самой структуры документа и последующего оглавления, а, во-вторых, оба эти уровня основаны на стиле «Обычный», а стиль «Обычный», как мы уже знаем, находится на верхнем уровне иерархии, соответственно и стиль «Заголовок 1» и стиль «Заголовок 2» находятся в одном шаге от верхнего уровня иерархии, т.е. на втором уровне иерархии.

Что означает иерархия стиля для документа?

Для содержимого документа ровным счетом НИЧЕГО! Читателю документа, просматривающего, допустим, рисунок 5, подраздела 3.1 абсолютно неважно, что подпись к этому рисунку выполнена стилем, который был основан на стиле «Обычный» и находится на втором уровне иерархии.

А вот для форматирования документа – ОЧЕНЬ МНОГОЕ. Сейчас самое время вернуться к первому рисунку в данном вопросе. Иерархия стилей в MS Word построена таким образом, что каждый нижний стиль в иерархии добавляет какие-то свои уникальные настройки к предыдущему.

Что это значит?

Это значит то, что если в стиле более высокого уровня сделать изменения, то они будут отображены в стилях более низкого уровня, но только если стиль более низкого уровня уже не включает в себя аналогичные изменения. Например, если создать пустой документе в Word и написать часть текста стилями Заголовок 1, Заголовок 2, добавить текст стилем «Основной текст», а потом построить оглавление, то изменив цвет шрифта стиля «Обычный» (заметьте этот стиль не использовался в оформлении документа) на красный, можно увидеть, что цвет изменился у основного текста и оглавления, а цвет стилей заголовков остался прежним. Это произошло потому, что хотя все стили, использованные в документе, и построены на стиле «Обычный», стили «Заголовок 1-2» уже включат в себя изменение цвета. Если в настройках стиля «Заголовок 1» изменить цвет шрифта на цвет по умолчанию (черный), то он будет наследовать цвет стиля «Обычный» и станет красным.

Аналогичную картину можно наблюдать, если изменить сам шрифт у стиля обычный, изменений в шрифтах заголовков не было, поскольку они используют другой шрифт.

Правила построения стилей.

Теперь, когда разобрались с иерархическим устройством стилей, самое время поговорить о правилах построения стилей и ограничениях. Часть правил пользователь просто не в силах нарушить, а часть дана в качестве рекомендации.

Первое правило – имена стилей уникальны. Здесь нельзя ничего поделать, если вы хотите создать стиль, а программа выдает предупреждение, что такой стиль уже есть, либо данное имя носит встроенный стиль, то есть два пути: первый просто изменить настройки существующего стиля и использовать его, а второй – создать стиль с несколько видоизмененным названием, например, вместо «Основной текст» создать «Основной_текст» (с нижним знаком подчеркивания), либо сильнее изменить, сохранив смысл стиля, например, «Обычный текст» и т.д.

Второе правило – стили устроены иерархически. Если вы беспорядочно использовали стили в документе, а потом, преднамеренно или нет, неважно, изменили цвет родительского стиля, например, стиля «Обычный», то не стоит удивляться, что весь текст перекрасился. Здесь тоже ничего поделать нельзя, можно только использовать это в свою пользу. Именно по умению пользоваться стилями в Word можно провести первую границу между пользователями, которые умеют работать в текстовом процессоре MS Word и пользователями, которые думают, что они умеют работать в MS Word.

Для пользователей, которые не полностью разобрались с иерархическим устройством стилей, есть два пути. Первый – это использовать схему, заложенную в Word изначально, а именно, иметь только один родительский стиль «Обычный», а все остальные стили делать на его основе. При этом очень ВАЖНО понимать, что сам стиль «Обычный» использовать в документе нельзя, для оформления простого текста есть зарезервированный стиль «Основной текст», который полностью повторяет родительский стиль. Но изменения в стиле «Основной текст» не повлекут за собой изменения в других стилях.

Более того, автор, профессионально оформив не один десяток текстов, очень редко пользовался вторым уровнем вложенности в иерархии стилей. В 99% случаев схема была такой: один родительский стиль «Обычный», который был раз настроен и нигде не использовался в документе.

Есть и второй способ его лучше не использовать, т.к. он тупиковый в развитии. Можно просто создавать стили на верхнем уровне иерархии и пользоваться ими не боясь, что изменения в одном повлекут изменения в другом. Но у этого способа есть один недостаток, который легко понять, если рассмотреть следующий пример.

Допустим вы соискатель, который настроил для себя стили и сохранил их в качестве шаблона. Всего, при оформлении стандартного научного текста, 20-40 стилей является далеко не заоблачным числом, но возьмем, к примеру, 30 стилей, которые будут использоваться при оформлении текста. В этом шаблоне есть стили на все случаи жизни: оформление текста, цитат, выделение, оформление таблиц, рисунков, текста в таблице и т.д. Но все эти стили объединяет одно – они используют один шрифт, да с разными размерами символов, с разным начертанием, но шрифт один, как правило, это Times New Roman, но не суть важно какой.

Если вы встретите издание, которое попросит оформить текст другим шрифтом?

Что нужно сделать, если пользоваться схемой стиль «Обычный» главный, но не используется в документе, а все остальные на основе стиля «Обычный»? Нужно просто изменить шрифт в одном единственном стиле, в стиле «Обычный» и шрифт измениться во всех стилях.

Что нужно будет сделать, если создавать все стили, как независимые? Придется изменить шрифт в каждом отдельно взятом стиле.

Вернемся к рассмотрению правил. Первые два правила не зависели от пользователя, он мог только принять их и использовать с выгодой для себя, остальные будут носить рекомендательный характер, соблюдать их, или нет, личное дело каждого.

Третье правило – если создается стиль, то он должен носить осмысленное название («Для рисунка», «Для подписи рисунка», «Основной текста», «Для таблицы», «Заголовки таблицы», «Название таблицы» и т.д.), это упрощает использование стилей в дальнейшем. Если создать стили с именами «Стиль 1, 2,3…», уже на следующий день вы начнете путаться, а через неделю проще будет создать новые стили.

Правило четвертое – не стоит создавать стили двойники, т.е. стили с одинаковыми настройками для одних и тех же целей. Если Word не дает создать стиль с одинаковым именем, то создать стиль с разными именами, но одинаковыми настройками можно. Два одинаковых стиля с разными названиями прозрачности оформлению текста точно не добавят. Естественно это не касается стилей, которые могут использоваться для оформления разных объектов документа. Например, можно и нужно создать стиль «Для текста в таблице», который может в точности повторять стиль «Основной текст», но вот создавать стили одинаковой функциональной направленности точно не стоит.

Правило пятое – не стоит скупиться на стили. Если есть необходимость создать стиль выделения текста, который будет отличаться от основного текста, только выделением, тогда создайте его. Каждое форматирование должно иметь свой стиль, этот основа в автоматизации оформления текста.

  1. Определение нового многоуровневого списка и создание нового стиля списка

Видеоверсия

Текстовая версия

Мы поверхностно уже рассматривали многоуровневые списки, но тема многоуровневых списков настолько интересная с точки зрения возможностей, которые она предоставляет пользователям при оформлении документов, что мы вернемся к ней не только в этом вопросе, а еще и на следующем занятии.

Итак, многоуровневый список, настройка основных параметров нам знакома, а вот такие команды выпадающего меню многоуровневого списка как: «Определить новый многоуровневый список…» и «Определить новый стиль списка…» мы пока не рассматривали.

Если провести аналогию со стилями абзацев, то команду «Определить новый многоуровневый список…» можно сравнить с ручным форматированием, а команда «Определить новый стиль списка…» позволит не только качественно настроить список, но и быстро модифицировать все экземпляры списков в документе. Также, используя команду «Определить новый стиль списка…», можно настроить несколько стилей списка, сохранить их в шаблоне документа, а потом использовать в новых документах, без необходимости повторных настроек.

Разницу легче всего увидеть на реальном примере. Создадим три одинаковых списка, однотипно отформатируем скопированные списки, используя команду «Определить новый многоуровневый список…». Для того, чтобы форматирование было применено ко всем спискам можно их выделить и произвести настройки, можно отформатировать один список и воспользоваться командой «Формат по образцу», а можно выделить список и применить соответствующие настройки списка из выпадающего меню многоуровневого списка.

Теперь, если попытаться произвести настройки нашего списка, например, изменить номер, маркер или отступы, то изменить одновременно настройки всех списков не получится. Придется снова пользоваться командой «Формат по образцу» либо индивидуально настраивать изменения для каждого списка в отдельности.

Другое дело команда «Определить новый стиль списка…» первоначальная настройка отличается от варианта, рассмотренного ранее лишь тем, что нужно дать имя создаваемому стилю, а потом уже перейти к настройкам нумерации.

После создания списка, можно заметить, что в выпадающем меню появилась дополнительный раздел «Список стилей». Применение стиля многоуровневого списка ничем не отличается от такового для абзаца списка, достаточно установить курсор на абзац, который должен быть списком и выбрать соответствующий стиль списка.

Самое интересное – это внесение изменений в уже созданные списки, если первоначальное форматирование было произведено правильно, и каждый список имеет свой стиль, то для внесения изменений не нужно ничего выделять, не нужно искать сами многоуровневые списки в документе, достаточно просто внести изменения в соответствующий стиль списка и удостоверится, что исправления коснулись необходимых экземпляров списка.

В качестве резюме для данного вопроса можно сказать, что для списков в документе тоже следует создавать свои стили. В этом случае не только упростится последующие редактирование списков в документе, но появится возможность сохранить настройки в шаблоне документа.

Практические задания:

В практической части вы найдете задания по прошедшему занятию. Задание расписано по пунктам, поэтому выполнение не должно составить большого труда. После выполнения у вас есть возможность сравнить свой вариант с подготовленным лектором ответом. Настоятельно рекомендуется смотреть решение только после того, как вы выполнили задание самостоятельно.

Задание 1. Создание стилей с уровнями.

  1. Открыть документ , который получился в результате выполнения практических заданий пятого занятия.
  2. Заполнить текстом второе занятие (текст взять с сайта и скопировать в режиме сохранения только текста).
  3. Создать пять стилей заголовков второго уровня (на основе стиля «Заголовок 2») с именами ЗГ2_1…ЗГ2_5. Никаких дополнительных параметров изменить не нужно.
  4. Отформатировать все заголовки второго уровня в тексте созданными заголовками второго уровня (каждый для своего заголовка первого уровня, например, для первого занятия – это ЗГ2_1, для второго ЗГ2_2 и т.д.)
  5. Сохранить документ для выполнения следующего занятия под именем Практика 6.

Посмотреть решение

Задание 2. Создание стилей многоуровневых списков.

Посмотреть решение

Ближе к двум часам ночи в голову в месте с мыслями о вечном приходят не менее вечные вопросы - «в чём смысл жизни?», «зачем вообще человеку спать?» или «Какого чёрта эта #%^$ не работает?» и чем ближе утро, тем сильнее начинает волновать именно этот самый последний вопрос.

Чуть ниже я расскажу о том какого чёрта сss селекторы иногда не ведут себя так, как нам кажется правильным, и о том как они на самом деле должны себя вести.

Глава один – идём направо!

Селекторы взвешивают, чтобы узнать какой из стилей будет примененен, когда несколько селекторов так или иначе указывают на один и тот же элемент, и пытаются изменить один и тот же его стиль. Кто больше весит того и стили, а законы взвешивания в тысячу раз проще тех, которые кажутся чисто эмпирически.

Итак, взвешиваем - сначала представим пару рядов из 8 чисел:

0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0

Знакомьтесь - так в числах выглядят некоторые два селектора, чтобы никто ни о чем не догадался назову их условно «верхний» и «нижний»

Чтобы узнать какой из них тяжелее, нужно выполнить следующие действия и ничего не перепутать:

  1. Смотрим на крайние левые числа
  2. Выбираем из них большее. - именно этот селектор и будет самым тяжелым
  3. Если числа одинаковые, сдвигаемся на число вправо и повторяем инструкции из пункта 2.
  4. Если все числа одинаковые то применяются стили из селектора который был объявлен последним

Самая страшная тайна

Если вы это прочитаете, от вас навсегда уйдет душевный покой, но по крайней мере вы сможете спать по ночам.

Раскрывая самую страшную тайну я расскажу, как собственно превратить обычный селектор в такие понятные и красивые цифры? Всё как всегда очень просто:

  1. Теги. за каждый тег в селекторе можно накинуть в самое правое число единичку:

    A – это 0,0,0,0,0,0,0,1 div a – это 0,0,0,0,0,0,0,2

  2. Классы , за каждый класс или псевдокласс в селекторе можно накинуть по единичке во второе число справа

    Head .logo – это 0,0,0,0,0,0,2,0 .logo.big – 0,0,0,0,0,0,2,0 div:first-child – 0,0,0,0,0,0,1,1 .logog > .big – и это тоже 0,0,0,0,0,0,2,0
    Да, вы все верно поняли. Css селектор плевать хотел на все эти ваши изыски типа пробелов или «>».

  3. За каждый ID в селекторе добавляем по единичке в третье справа число.

    #head – это 0,0,0,0,0,1,0,0 #head #logo – тоже 0,0,0,0,0,2,0,0

Я думаю суть вы уловили, теперь можно приступать к небольшой викторине, чтобы это проверить:

Викторина


Вопрос: Какого цвета бэкграунд будет в абзаце?
Ответ: Правильно, красного, потому что селектор не волнует что вам там кажется, и расстояние между тэгами его не интересует. А так как вес тэгов равен – применится последний.

?

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

?

Вопрос: Все тот же.
Ответ: А ответ, для разнообразия другой: наш див будет серым. Потому что как я уже упоминал выше селектору абсолютно безразлично что вы там имели ввиду. У первого селектора вес больше, и никого не волнует что скорее всего ожидали вы не такого поведения.

Продолжаем раскрывать секреты

У нас осталось еще так много чисел, и наверняка так хочется узнать что же все они значат – продолжаем раскрывать секреты.
  1. Селектор * абсолютно невесомый, то есть совсем.
  2. Селектор атрибутов это самый обычный псевдокласс и весит он столько же сколько и обычные классы
  3. Любой инлайновый стиль написанный в атрибуте style=”” элемента автоматически получает приоритет0,0,0,0,1,0,0,0 , что сразу делает его очень крутым.
  4. А следующие четыре цифры это все наши старые знакомые только с атрибутом !important

    Div { background-color: gray !important; } Имеет вес при определении свойства background-color - 0,0,0,1,0,0,0,0 .header { background-color: gray !important; } 0,0,1,0,0,0,0,0

Все мы любим викторины

?

Вопрос: Какого цвета будет знак вопроса в ссылке?
Ответ: Красного, неважно что селектор на точное совпадение атрибута выглядит более специфичным, чем селектор который выбирает все что «начинается с». Вес они имеют одинаковый.

?

Вопрос: Мой оригинальный запатентованный вопрос.
Ответ: !important круче всего, даже круче чем инлайн стили – так что бам-бам-бам – серого!

Исходники всех тестов лежат