В разделе рассматриваются основные свойства стилей, общие для всех типов стилей LibreOffice и некоторые особенности стандартных стилей.

Типы стилей

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

Writer:
Стили страницы - задают оформление полей, колонтитулов, обрамление, разбиение на колонки и фон.

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

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

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

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

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

Cтили страницы содержат параметры вывода листов на печать или экспорта в PDF.

Impress и Draw:
Стили рисунков относятся к линиям, областям, теням, прозрачности, шрифту, соединителям, размерам и другим атрибутам.

Стили презентации определяют атрибуты шрифта, отступов, расстояний, выравнивания и табуляции.

Base и Math не содержат собственные стили, однако к объектам из Base и Math могут применяться стили тех модулей, в которые они вставлены. Например, к формулам могут быть применены стили врезок Writer.

Взаимодействие стилей

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

Стили страниц также могут быть привязаны к стилю абзаца. Дело в том, что абзац в LibreOffice Writer первичен. Без абзаца невозможно создать новую, даже и пустую, страницу. В программах класса LibreOffice Writer просто не существует полностью пустых страниц без абзацев. Отсюда и ошибочная привычка большинства пользователей делать новую страницу многократным нажатием клавиши «Enter» .

В диалоге создания и редактирования стиля абзаца на вкладке «Положение на странице» в разделе «Разрыв», можно задать разрыв с использованием конкретного стиля страницы.

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

Приоритет стилей и форматирования

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

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

Аналогичным образом дело обстоит и с ручным форматированием. Если вручную сделать некоторые слова и символы в абзаце в жирном начертании, то при изменении стиля абзаца эти символы сохранят свое начертание. На рисунке 19 букве «n» в слове nervously и слову darkness было сделано ручное форматирование. Затем был изменен стиль абзаца, но стиль символов не изменился.

Рисунок 19: Ручное форматирование текста
Именно в этом и заключается зло ручного форматирования. О том как сбросить ручное форматирование написано в разделе Отмена форматирования .

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

Иерархия и наследование

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

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

Такое поведение позволяет не только экономить время, но и имеет дополнительный смысл. А что если всему тексту в документе требуется заменить гарнитуру с Sans на Serif? Нет ничего сложного, просто меняем гарнитуру в родительском стиле. Потомки автоматически унаследуют это изменение. Но если в каком то из потомков гарнитура указывалась явно, то изменение гарнитуры не унаследуется.

В диалоге создания и редактирования стилей на вкладке «Управление» в разделе «Параметры», перечислены все параметры стиля.

Как видно, стиль «АМ_Базовый_Заголовок» не наследует ничьи свойства. Стиль «АМ_Заголовок (14)» наследует параметры «АМ_Базовый_Заголовок», но при этом имеет часть собственных параметров, которые и перечислены в разделе «Параметры».

Для дочерних стилей в разделе «Параметры» на вкладке «Управление» перечисляются только переназначенные свойства. Эти свойства остаются неизменными при изменении свойств родителя.

Функция наследования доступны для всех типов стилей, но чаще всего она применяется в стилях абзаца. Эффективное применение данной функции требует определенного планирования перед созданием стилей.

Уровни структуры

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

В диалоге создания и редактирования стиля абзаца на вкладке «Структура и нумерация» заголовкам присваивается уровень структуры от 1-го до 10-и.

Рисунок 23: Уровни структуры

Уровни структуры позволяют настраивать сложную автонумерацию заголовоков и создавать сложные оглавления. Подробнее смотрите в разделах Сложная автонумерация заголовков и Автоматическое оглавление

Условные стили

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

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

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

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

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

Стандартные стили

Хочет того пользователь или нет, но он всегда пользуется стилями. Это касается и пользователей Microsoft Office. Стандартные стили вшиты в LibreOffice. Их нельзя удалить. Некоторые стили даже нельзя перенастроить. Например, стиль «Базовый». Если отсортировать стили в стилисте в режиме «По иерархии» (надеюсь вы выучили как это делать), то можно увидеть, что стиль «Базовый» является родительским для всех остальных стилей.

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

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

Таким образом, стандартные стили подразделяются на две логических группы. Первая группа — стили, который требуются для обеспечения функционала офисного пакета. Они автоматически применяются для форматирования создаваемых пользователем объектов, таких как указатели, таблицы, врезки, подписи и т. д.

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

К первой группе как раз и относится стиль «Базовый». О применении остальных стилей речь пойдет в следующем разделе.

Об использовании стандартных стилей

На самом деле, я не рекомендую применять стандартные стили. Первая причина в том, что зачастую они просто не удовлетворяют требованиям большинства пользователей. Элементарно, в большинстве документов в РФ используется шрифт Times New Roman. И я не говорю о других псевдо-стандартах.

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

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

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

При создании собственных стилей, рекомендую в названиях давать им оригинальные префиксы, чтобы они не пересекались со стандартными стилями и не заменяли их. Например, для оформления своего диплома я присваивал стилям префикс «АД», руководствам присваиваю префикс «АМ» (от английского manual - руководство). Букву А использую для удобства сортировки стилей.

Копирование и вставка текста из других источников

И ещё несколько слов об использовании стилей вообще. При копировании текста из других источников, будь то другой документ или веб-страница, вместе с текстом обычно копируется и его форматирование (в том числе и стили). Чтобы скопированные стили не перебивали уже имеющиеся в документе, необходимо использовать специальную вставку «Правка → Вставить как» (Ctrl + Shift + V) в режиме «Текст без форматирования».

Запятые, которые разделяют селекторы, позволяют «разделять» декларации между селекторами. Правило, которое продемонстрировано ниже, указывает, что все элементы i, элементы класса «warning» и элементы с идентификатором id «important» будут подчеркнуты.

I, .warning, #important { text-decoration: underline; }

Правила селекторов

Если правила конфликтуют:

  • Правило с более специфичным селектором идет первым;
  • Если два селектора имеют одинаковый уровень специфичности, правило, которое указано позднее в документе, идет первым.

Как определяется специфичность селектора

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

  1. Декларации в атрибутах стиля идут без селектора и обладают самым высоким приоритетом.
  2. Селекторы с атрибутом идентификатора id (например, h1#foo {}) являются следующими по важности в иерархии.
  3. Селекторами с другими атрибутами (например, h1.foo и a) или (например, a:hover) размещаются следующими в иерархии наиболее важных.
  4. Селекторы без других атрибутов кроме имени элемента (например, h1) занимают следующую строчку в иерархии наиболее важных.
  5. Универсальный селектор (*) обладает наименьшим приоритетом.

Для корректного определения точного значения специфичности, пройдите следующий процесс:

  1. Начните со значения 0.0.0.0.
  2. Если вы найдете декларацию в атрибуте стиля, вы должны изменить первую цифру на 1, что даст вам 1.0.0.0. Тогда вы получаете самое высокое значение специфичности и необходимости в дальнейших расчетах нет.
  3. Каждый раз, когда наступает условие 2, добавьте 1 ко второй цифре. Например, для ol#foo li#bar добавьте 2 (1 за каждый id), что дает вам 0.2.0.0.
  4. Каждый раз как вы сталкиваетесь с третьим случаем, добавьте единицу к третьей цифре. Например, для ol#foo li#bar a добавьте 1, что дает вам 0.2.1.0.
  5. Каждый раз, когда выполняется условие 4, добавьте 1 к четвертой цифре. Например, для ol#foo li#bar a добавьте 3 (по одном за каждое имя элемента), что дает нам 0.2.1.3

Когда вы сравниваете специфичность двух селекторов, начните с самых больших цифр слева. Число, которое больше другого, будет более специфичным. Если они равны, идите дальше и сравнивайте следующие цифры.

Каскад

Правила стиля могут определяться веб-дизайнерами в трех различных местах:

  1. Во внедренном стиле
  2. Во внешней таблице стилей (на которую ссылается HTML-файл или которая импортируется)
  3. В строке элемента

Внедренные таблицы стилей

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

Embedded Style Sheet

WARNING

Don"t go there!

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 , то выиграет второе правило.

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

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

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

Все материалы по таблицам каскадных стилей, которые уже были опубликованы на этом блоге, вы сможете найти в . Сегодня же мы поговорим сначала про то, как можно комбинировать и группировать селекторы, а затем подробно рассмотрим правил, которые применяются для одного и того же элемента в Html коде (Important, подсчет селекторов и запись правил в атрибуте style).

Комбинации и группировка селекторов в CSS

Итак, в предыдущих статьях мы успели рассмотреть 7 типов:

Из этих семи возможных видов в языке CSS можно составлять комбинации. Все комбинации, которые мы будем составлять, имеют непосредственное отношение к (предки — потомки, родители — дети, братья — сестры).

Первый вид комбинации называется контекстный селектор . Он учитывает взаимоотношение элементов Html кода по принципу «Предок — Потомок»:

Отдельные селекторы в комбинации записываются через пробел , а читать ее нужно справа налево. Т.о. правила CSS будут применяться только к последнему этой комбинации (самому правому), а все, что стоит перед ним, лишь позволяет задать более точное применение (прицеливание) для наших правил (акцентировать).

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

В приведенном коде только подчеркнутый фрагмент будет окрашен в зеленый цвет, т.к. в числе его предков имеется Div, а второй фрагмент кода, выделенный тегами B, останется того цвета, который выбран для него по умолчанию, ибо в числе его предков контейнера Div уже нет (только P и Body):

Такие комбинации работают в любых браузерах.

Следующим типом комбинаций будет дочерний селектор , который строится на принципах взаимоотношений элементов кода по типу «Родитель — Ребенок»:

Записываются они с разделяющим знаком больше (>) :

Данная запись будет трактоваться браузером так: для , «родителем» (ближайшим предком) которых является контейнер Div, будет использоваться выделение красным цветом.

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

Body > p {color:red}

То красным уже будет выделен только последний абзац, т.к. его родителем является тег Body, а два первых параграфа останутся того цвета, который был предусмотрен для них по умолчанию (Body для них предок, но не родитель, которым является Div). Дочерние селекторы не работают в браузере Ie 6 .

Как и для чего группируют селекторы в CSS коде

Последняя комбинация называется соседние селекторы и отвечает принципам отношений между элементами Html кода по типу «Сестры — Братья». В качестве разделителя у них может использоваться либо «+», либо «~»:

Данная запись означает, что содержимое элемента I (выделение курсивом) будет окрашено в красный цвет только тогда, если его ближайшим соседом слева (сверху по коду) является элемент B (выделение жирным). Например, данное условие будет соблюдено в этом примере:

Если записать соседний селектор в Css коде в таком виде:

H1 ~ p {color:red}

То это будет означать, что все параграфы (P), у которых выше по коду расположен соседний элемент H1 (заголовок), будут окрашены в красный цвет. Имеются в виду именно соседние элементы (отношения вида «Сестры — Братья»). На приведенном ниже примере заданному селектору будут удовлетворять обведенные абзацы:

Комбинации соседних селекторов в браузере Ie 6 тоже, к сожалению, не поддерживаются. В Ie 6 поддерживается только первый вид комбинации, а в Ie 7 и выше поддерживаются все остальные. В остальных браузерах никаких проблем возникать не должно.

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

В приведенном на скриншоте примере, повторяется для каждого селектора заголовка (h1-3), что может вызвать сложности (многократная работа) при желании поменять значение этого свойства. Поэтому второй вариант сгруппированной записи выглядит немного предпочтительнее.

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

Приоритеты Css свойств (с important и без него)

Теперь давайте подумаем, а какое стилевое оформление будет использовать браузер, если никаких стилей для данного элемента Html кода не задано? А для этого существует соответствующая спецификация , где все это описано.

Как вы можете видеть, сейчас произошло уже окончательное разделение Html и Css. Т.е. даже для чистого ХТМЛ кода браузер все равно будет использовать дефолтные свойства таблиц стилей. Так вот свойства, принятые по умолчанию, имеют самый низший приоритет .

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

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

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

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

Т.е., если я (разработчик сайта) захотел использовать в оформлении какого-либо элемента Html кода стили отличные от дефолтных (помните, они в спецификации описаны), то пользователь своим собственным файлом Css перебить мое оформление не сможет.

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

P {color:red !important;}

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

Решили, что пользовательские стили с Important будут иметь по-любому более высокий приоритет, чем авторские стили, что с Important, что без него.

Давайте обобщим в виде списка всю изложенную информацию по поводу приоритетов стилевых свойств. Приоритет будет убывать сверху вниз:

  1. Пользовательские с Important
  2. Авторские с Important
  3. Авторские
  4. Пользовательские
  5. Стили, принятые для Html элементов в спецификации по умолчанию (когда ни автор, ни пользователь ничего другого не задали)

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

Как повышают приоритеты Css свойств в авторских стилях

Именно сейчас мы с вами и переходим к вопросу каскадности таблиц стилей CSS . Давайте рассмотрим это на примере, чтобы было нагляднее. Допустим, что у нас имеется фрагмент кода со следующими Html элементами (параграф внутри контейнера Div):

Содержимое контейнера

Давайте сначала пропишем такие свойства:

P {color:red} .sbox {background:#f0f0f0}

В результате будет применено и первое из них к параграфу (ибо он образован тегом P), и свойство, задающее серый фон для элемента с классом «sbox», который опять же имеется у этого параграфа:

А теперь давайте добавим ко второму селектору (класса) еще одно свойство, которое будет конфликтовать с первой строчкой (в них обоих задается , но значения при этом используются разные):

P {color:red} .sbox {background:#f0f0f0;color:blue}

В результате цвет текста параграфа станет синим вместо красного.

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

Кроме этого сами селекторы имеют градацию по приоритетам . Самый высокий приоритет у ID. В этом примере цвет текста будет синим именно потому, что приоритет Id (#out) будет выше, чем у селектора тега (p):

P {color:red} #out {color:blue}

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

P {color:red} .sbox {color:blue}

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

Div p {color:red} p {color:blue}

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

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

Содержимое контейнера

Вполне можно будет написать такой кусок Css кода:

Div.box #out{color:red} #in p.sbox{color:blue}

И какого же цвета должен быть текст параграфа? Обе комбинации описывают именно наш параграф. Первую следует, как и водится, читать справа налево: применить данные свойства (color:red) для элемента с Id #out, который стоит где-то внутри (иметь его среди «предков») контейнера Div с классом.box (div.box). Полностью подходит к нашему абзацу.

Вторая комбинация: применить данные свойства (color:blue) для элемента параграфа с классом sbox (p.sbox), который стоит внутри любого элемента с Id #in. Опять же, она полностью описывает именно наш параграф. Давайте считать селекторы.

С ID в обоих комбинациях встречаются по одному разу, тоже самое можно сказать и о классах. Остается только посчитать селекторы тегов, но их тоже в обоих комбинациях используется одинаковое число раз (один). Засада.

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

Тут будет действовать правило — кто последний , тот и прав. Поэтому в моем примере цвет текста параграфа будет синим, ибо это свойство (color:blue) расположено ниже в коде. Если эти правила поменять местами:

#in p.sbox{color:blue} div.box #out{color:red}

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

Body #in p.sbox{color:blue} div.box #out{color:red}

В этом случае цвет параграфа измениться на синий. Универсальный селектор «*» вообще никакого влияния на подсчет приоритетов не оказывает. Кстати, чуть выше мы рассмотрели способ повышения приоритета Css правил с помощью добавления Important. В нашем примере это может выглядеть так:

P {color:green !important} #in p.sbox{color:blue} div.box #out{color:red}

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

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

Т.е. прописываете внутри того же многострадального тега P атрибут Style с заданием любого цвета:

Содержимое контейнера

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

Но вот свойства с Important он перебить не сможет. Т.е. в последнем примере, где мы добавили правило «p {color:green !important}», цвет текста по-прежнему будет зеленым, даже несмотря на style="color:yellow".

На самом деле приоритет двух правил (с Important во внешнем файле таблицы стилей и в атрибуте style) равный, а значит нужно переходить к подсчету селекторов. А разве они могут быть внутри атрибута style?

Да никаких не может быть, а это значит, что правило, прописанное в атрибуте style, всегда проиграет правилу с Important только за счет меньшего числа селекторов (ноль будет меньше любого числа).

Ну, а что же тогда даст наибольший приоритет Css свойству ? Правильно, его оно будет прописано в атрибуте style да еще с Important:

Содержимое контейнера

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

Итак, давайте попробует составить список факторов, влияющих на приоритет свойства в авторских стилях по мере их убывания:

  1. Прописывание свойства в атрибуте style нужного тега вместе с Important
  2. Добавление Important к свойству во внешнем файле таблиц стилей или же в теге style прямо в Html коде
  3. Простое прописывание этого свойства в атрибуте style нужно элемента
  4. Использование бОльшего числа Id для данного свойства
  5. Использование большего числа селекторов классов, псевдоклассов или атрибутов
  6. Использование большего числа селекторов тегов и псевдоэлементов
  7. Более низкое расположение свойства в Css коде, при прочих равных условиях

На самом деле правила в атрибуте style используются крайне редко (представьте себе, как трудно будет в этом случае вносить изменения во всем коде сайта, а не в отдельном файле CSS).

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

А зачем и как вставлять свой код на чужие страницы? Нам может и незачем, а Яндекс и Гугл это делают, когда или на чужих площадках (наших с вами сайтах).

Добавив во все элементы кода рекламных блоков атрибут style, с прописанными в нем свойствами и добавленным Important, можно уже не беспокоиться о том, что код объявлений будет изменен каким-либо образом (хотя объявления Яндекса все же можно менять за счет CSS и Important, видимо они не использовали этот метод).

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на
");">

Вам может быть интересно

Селекторы тега, класса (class), Id и универсальные, а так же селекторы атрибутов в современном CSS
Селекторы псевдоклассов и псевдоэлементов в CSS (hover, first-child, first-line и другие), отношения между тегами Html кода
List style (type, image, position) - Css правила для настройки внешнего вида списков в Html коде
Для чего нужен CSS, как подключить каскадные таблицы стилей к Html документу и основы синтаксиса этого языка

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. Создание стилей многоуровневых списков.

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



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png