- Свойства списков
- Стили списков: полная кастомизация
- Хочешь знать больше про веб?
- Наши списки в HTML
- Базовый CSS наших списков
- UL: data-атрибуты для маркеров списка в виде эмодзи
- OL: CSS-счетчики и CSS-переменные
- Списки в несколько столбцов
- Если в содержимом li у вас не просто текст
- CSS Marker
- Стили неупорядоченного списка с ::marker
- Стили упорядоченного списка с ::marker
- Демо для ::marker
- Настройка и создание стилей
- Изменение существующего стиля
- Обновление стиля в соответствии с форматированием в документе
- Изменение стиля вручную в диалоговом окне »Изменение стиля»
- Создание стиля на основе форматирования документа
Свойства списков
С помощью CSS можно создать маркированные и нумерованные списки, а также использовать в качестве маркера подходящее изображение.
В табл. 1 перечислены свойства элементов, предназначенных для создания и изменения списков.
| Свойство | Значение | Описание | Пример |
|---|---|---|---|
| list-style-type | disc circle square decimal lower-roman upper-roman lower-alpha upper-alpha none | Вид маркера. Первые три используются для создания маркированного списка, а остальные — для нумерованного. | LI |
| list-style-image | none URL | Устанавливает символом маркера любую картинку. | LI |
| list-style-position | outside inside | Выбор положения маркера относительно блока строк текста. | LI |
| list-style | Универсальное свойство, включает одновременно все вышеперечисленные свойства. |
Поскольку тег
наследует стилевые свойства тега
- или
- , который выступает в качестве его родителя, то можно устанавливать стиль как для селектора UL , так и для селектора LI . Так, в примере 1 используется селектор UL , для него и задаются стилевые параметры.
Пример 1. Создание маркированного списка
Результат данного примера показан на рис. 1. Используются квадратные маркеры и их внешнее размещение относительно текста.
Рис. 1. Вид списка, измененого с помощью стилей
Чтобы установить свое собственное изображение в качестве маркера применяется свойство list-style-image , как показано в примере 2.
Пример 2. Использование изображений в качестве маркера
Результат данного примера показан на рис. 2. В качестве маркеров используется маленькая картинка.
Рис. 2. Изображения в качестве маркеров
Некоторые примеры создания различных списков приведен в табл. 2.
| Код HTML | Пример |
|---|---|
Что следует учитывать при тестировании сайта:
| |
Что следует учитывать при тестировании сайта:
| |
Что следует учитывать при тестировании сайта:
| |
| Нумерованный список с арабскими цифрами:
| |
| Нумерованный список со строчными римскими цифрами:
| |
| Нумерованный список с заглавными римскими цифрами:
| |
| Нумерованный список со строчными буквами латинского алфавита:
| |
| Нумерованный список с заглавными буквами латинского алфавита: Источник Стили списков: полная кастомизацияХочешь знать больше про веб?Подпишись на наш телеграм-канал TechRocks WEB-разработка? Давайте разберем, как кастомизированные стили списков могут помочь расположить элементы в разных столбцах, сделать маркеры в виде эмодзи и настроить красивые цифры в нумерации. В этом руководстве мы рассмотрим:
А также мы разберем, как использовать CSS grid для легкой стилизации списков. Наши списки в HTMLДля начала давайте создадим нашу HTML-разметку. У нас будет один упорядоченный список ( ol ) и один неупорядоченный ( ul ). Более длинные пункты списков я включила для демонстрации выравнивания, отступов и высоты строки. Обратите внимание на использование role=»list» . Поначалу кажется, что это лишнее. Но мы при помощи CSS удалим стили, присущие спискам. А несмотря на то, что CSS не часто затрагивает семантическое значение элементов, list-style: none может удалить семантику списка для некоторых скринридеров. Самый простой способ это исправить — определить атрибут role для восстановления этой семантики. Узнать больше на эту тему можно, прочитав статью Скотта О’Хара «»Fixing» Lists». Базовый CSS наших списковДля начала мы добавим сброс стилей списка в дополнение к их определению как сетки с промежутками. Свойство grid-gap добавляет пространство между li , заменяя более старый метод li + li < margin-top: . >. Далее мы подготовим элементы списка: Мы также сразу учтем использование сетки в стилях элементов списка. И проапгрейдим старый «хак». Раньше, чтобы оставить пространство для абсолютно позиционированного псевдоэлемента, использовался padding-left . Вместо этого мы поставим комбинацию нулевой ширины первого столбца и grid-gap . Скоро вы увидите, как это работает. Затем мы прописываем align-items: start вместо дефолтного stretch и стили, касающиеся шрифтов. UL: data-атрибуты для маркеров списка в виде эмодзиЭто, вероятно, не совсем масштабируемое решение. Но чисто для интереса мы добавим кастомный data-атрибут, определяющий эмодзи для маркера списка для каждого элемента. Для начала давайте обновим HTML для ul : Чтобы применить эмодзи в качестве маркеров списка мы применим довольно магический прием. В нем data-атрибуты могут использоваться как значения свойства content для псевдоэлементов: Вот результат с показом элемента ::before для иллюстрации того, как работает сетка: Эмодзи позволяется занимать ширину, чтобы быть видимым, но он надежно сидит в grid-gap . Можете поэкспериментировать и установить grid column как auto для первого li . В результате между столбцом с эмодзи и столбцом с текстом полностью применится grid-gap . OL: CSS-счетчики и CSS-переменныеCSS-счетчики — вполне жизнеспособное решение со времен IE8. Но мы добавим немного «украшательств»: используем CSS-переменные, чтобы менять цвет фона для каждого номера. Сперва добавим стили для CSS-счетчика. Сам счетчик назовем orderedlist : Таким образом достигается следующий вид: На самом деле полученный результат не слишком отличается от дефолтных стилей упорядоченного списка. Далее мы применим некоторую базовую стилизацию к числам счетчика: Во-первых, мы применили один из шрифтов Google и увеличили font-size . Свойство line-height установлено в половину от line-height элемента li (по крайней мере с этим шрифтом это сработало, но это может быть и магическим числом). Это выравнивает число относительно текстового содержимого li . Далее нам нужно явно указать ширину. Если этого не сделать, фон не проявится, хотя текст будет. Добавляем padding , чтобы зафиксировать выравнивание текста относительно фона. Теперь наш список выглядит так: Он определенно кажется более кастомным. Но мы еще немного усилим этот эффект, заменив цвет в background-color на CSS-переменную: Вид от этого не изменится. По крайней мере, пока мы не добавим встроенные стили для второго и третьего пунктов списка для обновления значения переменной: И вот наши итоговые ul и ol : Списки в несколько столбцовВ нашем примере есть только три коротких пункта списка. Но не забывайте, что мы применили grid к основе ol и ul . Когда-то, в прошлой жизни, я делала интересные вещи с modulus в PHP, что позволяло разбивать списки и применять дополнительные классы к полученным спискам, равномерно разделенным на несколько столбцов. При помощи CSS grid это можно сделать в трех строках. При этом результат будет отзывчивым, столбцы — равными, а еще будет учитываться длина строки содержимого. Применим это к нашему примеру. Только не забудьте сперва удалить max-width для элемента li . Вы можете включить это представление в Codepen, установив для переменной $multicolumn значение true . Если в содержимом li у вас не просто текстК сожалению, если у вас в пункте списка не просто голый текст, сетка сломается. Причем «не просто текст» — это даже добавление ссылки. Но есть простое решение: поместите контент li в span . Сетке плевать на то, что собой представляют элементы. Она просто ожидает только два элемента, первый из которых — псевдоэлемент. CSS MarkerНесколько месяцев спустя после выхода этой статьи поддержка ::marker в современных браузерах существенно улучшилась. Псевдоселектор ::marker позволяет напрямую менять и стилизовать нумерацию и маркеры в ol и ul списках. При помощи ::marker мы можем полностью заменить наше решение для маркеров в ul . Но для ol -решения это будет даунгрейд, поскольку для ::marker есть только несколько свойств: Стили неупорядоченного списка с ::markerПоскольку content — допустимое свойство для ::marker , мы можем сохранить наше решение data-icon , чтобы не отказываться от эмодзи в качестве маркеров. Нам лишь нужно заменить ::before на ::marker : Затем удалим теперь уже ненужные grid-свойства из li и добавим padding , чтобы заменить удаленный grid-gap : Наконец, мы ранее удалили margin, но теперь нам нужно вернуть его обратно. Это обеспечит пространство для ::marker , чтобы он не обрезался из-за переполнения: Визуально результат такой же, как при предыдущем решении. Посмотреть можно в демо. Стили упорядоченного списка с ::markerЧто касается упорядоченного списка, мы можем переключиться и воспользоваться преимуществами встроенного счетчика. Нам придется убрать наши background-color и border-radius , так что мы будем использовать нашу CSS-переменную для свойства color . А имя переменной для ясности изменим на —marker-color . Итак, наши урезанные стили выглядят теперь следующим образом: Не забудьте обновить имя CSS-переменной и в HTML! Обратите внимание. Изменение свойства display для li удалит псевдоэлемент ::marker . Так что, если вам нужен другой тип display для содержимого списков, нужно обернуть его в дополнительный элемент. Демо для ::markerВ этом Codepen вы видите обновленные стили с использованием ::marker . Выбирая интересные стили списков, не забывайте проверять поддержку в браузерах (с учетом предпочтений вашей аудитории). Если хотите узнать больше о ::marker , советую почитать замечательную статью «Custom bullets with CSS ::marker». Источник Настройка и создание стилейС помощью стилей можно быстро применить набор вариантов форматирования во всем документе. Если вам нужны параметры форматирования, недоступные из встроенных стилей и тем, доступных в Word, вы можете изменить существующий стиль и настроить его в соответствии со своими потребностями. Вы можете изменить форматирование (например, размер шрифта, цвет и отступ текста) в стилях, примененных к заголовкам, заголовкам, абзацам, спискам и так далее. Вы также можете выбрать форматированный текст в документе, чтобы создать новый стиль в коллекции «Стили». Стили, описанные в этой статье, находятся в коллекции «Стили» на вкладке Главная. Чтобы применить стиль, просто выделите текст, который вы хотите отформатировать, и выберите нужный стиль в коллекции «Стили». Дополнительные сведения см. в статье Применение стиля к тексту в Word. Изменение существующего стиляИзменить стиль из коллекции «Стили» можно двумя способами: Обновление стиля в соответствии с форматированием в документеЕсли в документе есть текст с нужным стилем, вы можете изменить его форматирование и применить изменения к стилю в коллекции «Стили». Выделите в документе текст, к которому применен стиль, например «Заголовок 1». При выборе текста, к которому применен стиль, стиль выделяется в коллекции «Стили». Отформатируйте выбранный текст так, как хотите. Например, вы можете изменить размер шрифта для стиля «Заголовок 1» с 16 до 14 пунктов. На вкладке Главная в группе Стили щелкните правой кнопкой мыши стиль, который вы хотите изменить, и выберите команду Обновить [название стиля] в соответствии с выделенным фрагментом. Примечание: Весь текст, к которому применен этот стиль, автоматически изменится. Изменение стиля вручную в диалоговом окне »Изменение стиля»Вы можете изменить стиль напрямую в коллекции «Стили», не настраивая текст в документе. На вкладке Главная щелкните правой кнопкой мыши стиль в коллекции «Стили» и выберите команду Изменить. В разделе Форматирование измените форматирование, например начертание, размер или цвет шрифта, выравнивание, междустрочный интервал и отступы. Выберите, должен ли стиль применяться к текущему документу или же ко всем новым документам. Создание стиля на основе форматирования документаВы можете выбрать отформатированный текст в документе, чтобы создать новый стиль и добавить его в коллекцию «Стили». Щелкните правой кнопкой мыши текст, на основе которого вы хотите создать стиль. На мини-панели инструментов нажмите кнопку Стили и щелкните Создать стиль. В диалоговом окне Создание стиля введите имя стиля и нажмите кнопку ОК. Новый стиль появится в коллекции «Стили». Примечание: Если вы хотите, чтобы новый стиль появился во всех новых Word документах, щелкните его правой кнопкой мыши в коллекции «Стили», выберите изменить ,а затем в нижней части диалогового окна выберите новые документы, основанные на этом шаблоне. Щелкните правой кнопкой мыши текст, выберите Стили и щелкните Сохранить выделенный фрагмент как новый экспресс-стиль. В диалоговом окне Создание стиля введите имя стиля и нажмите кнопку ОК. Новый стиль появится в коллекции «Стили». Примечание: Если вы хотите, чтобы новый стиль появился во всех новых Word документах, щелкните его правой кнопкой мыши в коллекции «Стили», выберите изменить ,а затем в нижней части диалогового окна выберите новые документы, основанные на этом шаблоне. Источник |