Кратко
СкопированоСвойство 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 пример отобразится некорректно и вместо заданных символов отрисует просто список по умолчанию:
