Кратко
СкопированоСвойство list
пригодится, когда нужно стилизовать <li>
-элемент <ul>
- или <ol>
-списка, если оформления по умолчанию (или через атрибут type
) недостаточно. Ещё один популярный «приём» — вообще убрать маркер (или число, если это <ol>
-список), чтобы скрыть внешний вид, но оставить семантику тегов.
Список возможных значений list
ограничен. Если нужно больше возможностей: list
позволяет задать изображение вместо маркера, а в скором времени в спецификацию добавят @counter
. Stay tuned! 🤓
Пример
СкопированоПо умолчанию маркированные списки имеют значение list
(маркер в виде точки), а нумерованные — decimal
(арабские цифры с точкой):
Вообще, свойство list
можно задать как самому элементу <ul>
или <ol>
(благодаря тому, что это свойство наследуется «вглубь»), так и его <li>
-элементу и вообще любой сущности, у которой задано свойство display
.
Демо разных значений list-style-type
СкопированоКак пишется
Скопированоul { list-style-type: square;}
ul { list-style-type: square; }
Свойство list
может принимать одно из нескольких типов значений, которые имеют даже целый раздел в спецификации, описывающий различные виды этих счётчиков.
Числовые
Скопированоdecimal
западные десятичные числа (1, 2, 3, ..., 98, 99, 100);decimal
десятичные числа с предшествующим нулём (01, 02, 03, ..., 98, 99, 100);- leading - zero
Другие числа в других языковых культурах:
lower
строчная римская нумерация (i, ii, iii, ..., xcviii, xcix, c);- roman upper
заглавная римская нумерация (I, II, III, ..., XCVIII, XCIX, C);- roman arabic
арабские (индийские) цифры (١, ٢, ٣, ٤, ..., ٩٨, ٩٩, ١٠٠);- indic lower
строчная армянская нумерация (ա, բ, գ, ..., ղը, ղթ, ճ);- armenian bengali
бенгальские цифры (১, ২, ৩, ..., ৯৮, ৯৯, ১০০);cambodian
/khmer
кхмерские цифры (១, ២, ៣, ..., ៩៨, ៩៩, ១០០);cjk
ханские десятичные цифры (一, 二, 三, ..., 九八, 九九, 一〇〇);- decimal georgian
традиционные грузинские цифры (ა, ბ, გ, ..., ჟჱ, ჟთ, რ);devanagari
индийские цифры деванагари (१, २, ३, ..., ९८, ९९, १००);gujarati
индийские цифры гуджарати (૧, ૨, ૩, ..., ૯૮, ૯૯, ૧૦૦);gurmukhi
индийские цифры гурсукхи (੧, ੨, ੩, ..., ੯੮, ੯੯, ੧੦੦);hebrew
традиционные еврейские цифры (א, ב, ג, ..., צח, צט, ק);kannada
индийские цифры каннада (೧, ೨, ೩, ..., ೯೮, ೯೯, ೧೦೦);malayalam
индийские цифры малаялам (൧, ൨, ൩, ..., ൯൮, ൯൯, ൧൦൦);tamil
индийские тамильские цифры (௧, ௨, ௩, ..., ௯௮, ௯௯, ௧௦௦);oriya
индийские цифры одия (ория) (୧, ୨, ୩, ..., ୯୮, ୯୯, ୧୦୦);lao
лаосские цифры (໑, ໒, ໓, ..., ໙໘, ໙໙, ໑໐໐);mongolian
монгольские цифры (᠑, ᠒, ᠓, ..., ᠙᠘, ᠙᠙, ᠑᠐᠐);myanmar
бирманские (мьянманские) цифры (၁, ၂, ၃, ..., ၉၈, ၉၉, ၁၀၀);persian
персидские цифры (۱, ۲, ۳, ۴, ..., ۹۸, ۹۹, ۱۰۰);telugu
индийские цифры телугу (౧, ౨, ౩, ..., ౯౮, ౯౯, ౧౦౦);thai
тайские цифры (๑, ๒, ๓, ..., ๙๘, ๙๙, ๑๐๐);tibetan
тибетские цифры (༡, ༢, ༣, ..., ༩༨, ༩༩, ༡༠༠).
Алфавитные
Скопированоlower
/- alpha lower
строчные латинские буквы (a, b, c, ..., z, aa, ab);- latin upper
/- alpha upper
заглавные латинские буквы (A, B, C, ..., Z, AA, AB);- latin
Другие алфавиты в других языковых культурах:
lower
строчные греческие буквы (e.g., α, β, γ, ..., ω, αα, αβ);- greek hiragana
буквы на языке Хирагана (японская слоговая азбука) в алфавитном порядке (e.g., あ, い, う, ..., ん, ああ, あい);hiragana
буквы на языке Хирагана-ироха (японская слоговая азбука) в алфавитном порядке (e.g., い, ろ, は, ..., す, いい, いろ);- iroha katakana
буквы на языке Катакана (японская слоговая азбука) в алфавитном порядке (e.g., ア, イ, ウ, ..., ン, アア, アイ);katakana
буквы на языке Катакана-ироха (японская слоговая азбука) в алфавитном порядке (e.g., イ, ロ, ハ, ..., ス, イイ, イロ).- iroha
Символьные
Скопированоdisc
точка, похожая на символ на • U+2022 BULLET;circle
кружок, похожий на символ ◦ U+25E6 WHITE BULLET;square
закрашенный квадрат, похожий на символ ◾ U+25FE BLACK MEDIUM SMALL SQUARE;disclosure
и- open disclosure
символы открытого и закрытого списка как у элемента- closed <details>
.
Для нумерованных списков (<ol>
) можно задать стартовое значение с помощью атрибута start
(например, для меню пагинации).
Список без счётчика
СкопированоЕсть случаи, когда нам нужно иметь семантику списка, но не нужны никакие маркеры или числа, например, меню, список карточек товара или статей. Если мы зададим списку list
, то сохраним порядок элементов (для скринридеров) без «лишнего» оформления:
<ul style="list-style-type: none"> <li> <a href="/articles">Статьи</a> </li> <li> <a href="/authors">Авторы</a> </li> <li> <a href="/contacts">Контакты</a> </li></ul>
<ul style="list-style-type: none"> <li> <a href="/articles">Статьи</a> </li> <li> <a href="/authors">Авторы</a> </li> <li> <a href="/contacts">Контакты</a> </li> </ul>
Пример вёрстки списка статей или товаров:
<ol style="list-style-type: none"> <li> <article> <h2>Обзор кафе «Тарелко эль Торреро»</h2> <address>Григорий Гаспатчев</address> </article> </li> <li> <article> <h2>Заказываем пиццу из «Саранчи»</h2> <address>Мария Пепперони</address> </article> </li> <li> <article> <h2>Где попробовать тэппанъяки?</h2> <address>Василиса Васаби</address> </article> </li></ol>
<ol style="list-style-type: none"> <li> <article> <h2>Обзор кафе «Тарелко эль Торреро»</h2> <address>Григорий Гаспатчев</address> </article> </li> <li> <article> <h2>Заказываем пиццу из «Саранчи»</h2> <address>Мария Пепперони</address> </article> </li> <li> <article> <h2>Где попробовать тэппанъяки?</h2> <address>Василиса Васаби</address> </article> </li> </ol>
Так же, устанавливая list
можно создать стилизованные списки, главное не забыть прописать свойство content
:
<ul> <li>Милый маленький грибочек</li> <li>Сколопендровый листочек</li> <li>Жёлтой пыльки чуть</li></ul>
<ul> <li>Милый маленький грибочек</li> <li>Сколопендровый листочек</li> <li>Жёлтой пыльки чуть</li> </ul>
li { position: relative;}li::before { content: ""; width: 15px; height: 15px; border-radius: 50%; background-color: #ed6742; position: absolute; left: -25px; top: 5px;}
li { position: relative; } li::before { content: ""; width: 15px; height: 15px; border-radius: 50%; background-color: #ed6742; position: absolute; left: -25px; top: 5px; }
Не забывайте о свойстве content
у псевдоэлемента :
.
Кастомные счётчики с @counter-style
СкопированоС помощью @-правила мы можем создать свои счётчики, которые будут иметь свои правила отображения порядка или символы-маркеры:
@counter-style circled-alpha { system: fixed; symbols: 😁 😇 😋 🤪 😎; suffix: " ";}.list { list-style: circled-alpha;}
@counter-style circled-alpha { system: fixed; symbols: 😁 😇 😋 🤪 😎; suffix: " "; } .list { list-style: circled-alpha; }
Свойство @counter
поддерживается не во всех браузерах. Например, в Safari пример отобразится некорректно и вместо заданных символов отрисует просто список по умолчанию: