Типы списков

Чтобы изменить тип маркера, обозначающего элементы списка, применяют свойство list-styl -type. Да, ключевых слов многовато. Многие из них были введены в CSS2, но затем изъяты в CSS2.1. Агент пользователя должен интерпретировать любое неизвестное ему значение как decimal. Свойство list-style-type, как и все остальные свойства списков, может применяться только к элементу, свойство display которого имеет значение list-item, но CSS не различает нумерованные и ненумерованные элементы списка. Таким образом, на роль маркеров нумерованного списка можно вместо чисел определить диски. Кстати, по умолчанию свойству list-style-type присваивается значение disc, поэтому теоретически, если не объявлять противоположное явно, маркерами элементов всех списков (нумерованных и ненумерованных) будут диски.

Это было бы логично, но, как выясняется, решение принимает агент пользователя. Даже если последний не имеет предопределенного правила, такого как ol {list-style-type: decimal;}, он может запретить применение упорядоченных маркеров к ненумерованным спискам, и наоборот. Но уверенности в том, что он это сделает, нет, поэтому будьте аккуратны.

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


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

ol li {list-style-type: decimal;}
li.off {list-style-type: none;}

  1. Item the first
  2. Item the second
  3. Item the third
  4. Item the fourth
  5. Item the fifth


Свойство list-style-type – наследуемое, поэтому если требуется применить во вложенных списках другой стиль маркеров, их, скорее всего, надо будет определять отдельно. Вероятно, придется также прямо объявлять стили для вложенных списков, потому что они уже могли быть определены таблицей стилей агента пользователя. Предположим, что в агенте пользователя заданы следующие стили:

ul {list-style-type: disc;}
ul ul {list-style-type: circle;}
ul ul ul {list-style-type: square;}

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

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела CSS на эту тему:
Вставка генерируемого содержимого
Вставка значений атрибутов
Генерируемое содержимое
Генерируемые кавычки
Изображения для элементов списка