HTML & CSS для начинающих

HTML и CSS для начинающих (часть 35): Списки и счётчики

Все видео урока HTML и CSS для начинающих

Используя описанные в этом руководстве CSS-свойства, вы можете оформить списки. Указания относятся к HTML-элементам ul и ol. Таким образом, вы можете настраивать упорядоченные и неупорядоченные списки по вашему усмотрению.


Общие сведения о списках

Свойство list-style является сводкой трех следующих свойств:

list-style-type

list-style-position

list-style-image

С помощью list-style можно изменить способ графического отображения маркеров перед элементами списка и их отступов. Указанные значения записываются через запятую. Порядок не имеет значения. Кроме того, не для каждого свойства необходимо указывать значение.

Пример показан ниже:

<!DOCTYPE html>
 <html>
 <head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
 <style>
 ul {
    list-style:square;
 }
 </style>
 </head>
 <body>
 <ul>
 <li>HTML</li>
 <li>CSS</li>
 <li>JavaScript</li>
 </ul>
 </body>
 </html>

В браузере это выглядит следующим образом:

HTML &# CSS для начинающих (часть 35): Списки и счетчики.

Графические маркеры

Вы можете указать собственное изображение в качестве маркера. Для этого используется свойство list-style-image. Допустимыми значениями являются:

url – имя файла и, возможно, путь к изображению

none – изображение не отображается.

Пример:

ul { 
    list-style-image: url(bullet.gif); 
 }



Обратите внимание, что путь к указанному в URL изображению должен быть правильным.

HTML & CSS для начинающих (Часть 35): Списки и счётчики.



Если указан неверный путь, браузеры должны использовать стандартный маркер.

Положение маркеров

Свойство list-style-position определяет, как должны себя вести нумерация или маркеры относительно отступов.

inside – первая строка будет смещена так, чтобы маркеры и элементы списка были выровнены по левому краю.

outside – маркеры находятся слева от элемента списка.

В следующем примере используются два значения: inside и outside.

<!DOCTYPE html>
 <html>
 <head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
 <style>
 ul.a {
    list-style-position:inside;
 }
 ul.b {
    list-style-position:outside;
 }
 </style>
 </head>
 <body>
 <p>Внутренний список:</p>
 <ul class="a">
 <li>HTML</li>
 <li>CSS</li>
 <li>JavaScript</li>
 </ul>
 <p>Внешний список:</p>
 <ul class="b">
 <li>HTML</li>
 <li>CSS</li>
 <li>JavaScript</li>
 </ul>
 </body>
 </html>

Таким образом можно наглядно увидеть различные влияния этих двух значений.

HTML и CSS для начинающих (часть 35): Списки и счетчики

Оформление маркеров

Для маркеров в виде точек или иных символов вы можете явно управлять их внешним видом. Также можно изменить отображение нумерованных списков. Для этого используется свойство list-style-type. Допустимыми значениями являются:

decimal – для списков ol: Нумерация 1, 2, 3 и т. д.

lower-roman – для списков ol: Нумерация i., ii., iii. и т. д.

upper-roman – для списков ol: Нумерация I., II., III., IV и т. д.

lower-alpha или lower-latin – для списков ol: Нумерация I., II., III., IV. и т. д.

upper-alpha или upper-latin – для списков ol: Нумерация A., B., C., D. и т. д.

disc – для списков ul: Заполненный круг в качестве маркера

circle – для списков ul: Пустой круг в качестве маркера

square – для списков ul: Прямоугольник в качестве маркера

none – ни маркера, ни нумерации

lower-greek – для списков ol: Нумерация греческими буквами

hebrew – для списков ol: Нумерация ивритскими буквами

decimal-leading-zero – для списков ol: Нумерация с ведущим нулем 0: 01., 02., 03., 04. и т. д.

cjk-ideographic – для списков ol: Нумерация идеографическими символами

hiragana – для списков ol: Японская нумерация (строчными буквами)

katakana – для списков ol: Японская нумерация (заглавными буквами)

hiragana-iroha – для списков ol: Японская нумерация (строчными буквами)

katakana-iroha – для списков ol: Японская нумерация (заглавными буквами)

В следующем примере используются некоторые из перечисленных вариантов.

<!DOCTYPE html>
 <html>
 <head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
 <style>
 ul.a {
    list-style-type:circle;
 }
 ul.b {
    list-style-type:square;
 }
 ol.c {
    list-style-type:upper-roman;
 }
 ol.d {
    list-style-type:lower-alpha;
 }
 </style>
 </head>
<body>
   <ul class="a">
      <li>HTML</li>
      <li>CSS</li>
      <li>JavaScript</li>
   </ul>
   <ul class="b">
      <li>HTML</li>
      <li>CSS</li>
      <li>JavaScript</li>
   </ul>
   <ol class="c">
      <li>HTML</li>
      <li>CSS</li>
      <li>JavaScript</li>
   </ol>
   <ol class="d">
      <li>HTML</li>
      <li>CSS</li>
      <li>JavaScript</li>
   </ol>
</body>
</html>

В браузере получится следующее изображение:

HTML & CSS для новичков (Часть 35): Списки и счетчики

Счетчики

Через списки ol можно нумеровать содержимое. Однако в более сложных приложениях это не слишком удобно. CSS здесь предлагает альтернативу в виде счетчиков.

Далее покажу вам, как использовать счетчики.

Сначала я создам новый счетчик для элемента body.

body { 
    counter-reset: kapitel; 
 }

Благодаря этому определению счетчик kapitel существует в документе. Теперь его можно использовать.

h1 { 
    counter-increment: kapitel; 
 }



С помощью показанного синтаксиса счетчик автоматически увеличивается на 1 при появлении нового элемента h1. Проблема заключается в том, что на данный момент ничего не отображается. Это можно легко изменить с помощью псевдоэлементов.

h1::before {
   content: counter(kapitel) ". ";
 }



Полное применение может выглядеть следующим образом:

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 body {
    counter-reset: kapitel;
 }
 h1 {
    counter-increment: kapitel;
 }
 h1::before {
    content: counter(kapitel) ". ";
 }
 </style>
 </head>
 <body>
 <h1>Kapitel</h1>
 <h1>Kapitel</h1>
 </body>
 </html>

А вот, как это выглядит в браузере:

HTML и CSS для новичков (часть 35): Списки и счетчики.



В приведенном примере с помощью ::before выходит число в начале элемента h1. Для того, чтобы цифра не находилась прямо у текста заголовка, после цифры добавляется точка и пробел.

content: counter(kapitel) ". "



Также возможны вложенные подсчеты. Для этого счетчик определяется в том месте, где он в итоге должен начинаться сначала.

h1 {
   counter-increment: kapitel;
   counter-reset: unterkapitel;
 }

В данном примере счетчик сбрасывается при каждом новом элементе h1. Нижеследующий пример демонстрирует типичное применение вложенных счетчиков.

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 body {
    counter-reset: kapitel;
 }
 h1 {
    counter-reset: unterkapitel;
 }
 h1:before {
    counter-increment: kapitel;
    content: counter(kapitel) ". ";
 }
 h2:before {
    counter-increment: unterkapitel;
    content: counter(kapitel) "." counter(unterkapitel) " ";
 }
 </style>
 </head>
 <body>
 <h1>Kapitel</h1>
 <h2>Unterkapitel</h2>
 <h2>Unterkapitel</h2>
 <h2>Unterkapitel</h2>
 <h1>Kapitel</h1>
 <h2>Unterkapitel</h2>
 <h2>Unterkapitel</h2>
 <h2>Unterkapitel</h2>
 </body>
 </html>

В браузере это выглядит следующим образом:

HTML & CSS для начинающих (Часть 35): Списки и счетчики.



Примеры показали, насколько мощными могут быть счетчики.