Нумерованный список. Как разместить элементы списка горизонтально? Стиль по умолчанию

Списки бывают нумерованными и ненумерованными.

Нумерованные списки выводятся кодом:

    Список с цифрами
  1. пункт 1
  2. пункт 2
  3. пункт 3

Не нумерованные списки выводятся кодом:

    Список с галочками или другими символами
  • пункт 1
  • пункт 1
  • пункт 1

Каждый пункт любого списка заключается в тег li. Все пункты списка заключаются в один общий тег ul или ol. Стили этих тегов прописываются в таблице стилей.

Для каждого тега присваиваются определенные стили оформления. В них указываются отступы от текста.

Для нумерованного списка прописываются стили нумерации для каждого пункта.

Стандартные арабские цифры описываются значением decimal.

list-style-type: decimal; /*арабские цифры*/

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

list-style-type: circle; /*кружки*/
list-style-type: square; /*квадраты*/

Каждому пункту меню можно назначить изображение.

list-style-image: url(‘путь к изображению’);

Обычно в шаблонах нумерованный список оформляется простыми цифрами, а не нумерованный – черными квадратиками и кружочками. Это скучно и невыразительно. Давайте это исправим.

Где стили списков прописаны в шаблоне Twenty Eleven?

Откройте файл стилей style.css. Найдите раздел с названием /* Text elements */

Стандартный код выглядит вот так:

Как оформить нумерованный список?

Нумерованный список с использованием фона

Посмотрите вот на такое симпатичное оформление нумерованного списка.

Нравится? Давайте повторим.

Найдите стили для тега ol. Пропишите к нему новые свойства.

Ol { padding: 0px 0 0 20px; margin: 0.5em 0 1.571em 1.9em; color: #2E2E2E; list-style-type: none; font: 15px/17px Verdana, Arial, Helvetica, sans-serif; z-index: 2; counter-reset: point; } ol li { margin-bottom: 4px; line-height: 1.6; color: #2E2E2E; position: relative; } ol li:before { margin-bottom: 4px; counter-increment: point 1; line-height: 1.6; height: 24px; margin-left: -36px; left: 0px; width: 24px; margin-top: 1px; background: #BDC3C7; content: counter(point); text-align: center; position: absolute; font-weight: bold; }

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

list-style-type: none; — отключает вывод стандартных цифр
counter-reset: point; — задает переменную для счетчика нумерации
position: relative; — размещает нумерацию возле самих пунктов

before — псевдоэлемент для тега ol li. Имеет следующие стили:
content: counter(point); — выводит значение переменной
counter-increment: point 1; — увеличивает счетчик на 1
position: absolute;
background: #BDC3C7; — фон для цифр (фон можно задать цветом или красивой иконкой
margin – внешние отступы
padding – внутренние отступы
color – цвет текста элемента
background – фон
text-align – выравнивание текста
font-weight – толщина (насыщенность) шрифта

В своих стилях вы можете задать любые цвета, выравнивания, размеры шрифта и отступы.

Нумерованный список с уникальным изображением для каждого пункта

На одном женском сайте есть очень привлекательные нумерованные списочки.

Как это реализовано? Давайте рассмотрим следующий код:

/*первый номер*/ ol li:first-child { list-style-image: url(путь к изображению с цифрой 1); } /*второй номер*/ ol li:nth-child(2n) { list-style-image: url(путь к изображению с цифрой 2); } /*третий номер*/ ol li:nth-child(3n) { list-style-image: url(путь к изображению с цифрой 3); } /*четвертый номер*/ ol li:nth-child(4n) { list-style-image: url(путь к изображению с цифрой 4); } /*Далее прописываем точно также только для следующих номеров пунктов*/

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

Если в списках в статьях вы используете до 20 нумерованных пунктов, то нужно прописать псевдокласс nth-child(An) 20 раз. Так чтобы последним в стилях шел псевдокласс nth-child(20n).

Найдите в файле стилей строчки, которые описывают оформление нумерованного списка (теги ol li).

Допишите в него псевдокласс first-child. Скопируете и вставьте его один раз, затем измените данное свойство на nth-child(An) и скопируете столько, сколько номеров должны иметь свою иконку. Проставьте номера пунктов.

Для каждого номера пропишите свойство list-style-image с собственной уникальной иконкой.

Если иконки на сайте располагаются далеко от пунктов или накладываются на них, то нужно отредактировать выравнивание и отступы цифровых иконок или текста пунктов.

Как оформить маркированный (ненумерованный) список?

Маркированный список ul li с чередующимися иконками

Мне очень понравился вот такой маркированный список

Ul { padding: 11px 0 5px 0; } ul li { padding-left: 32px; margin-bottom: 10px; font: normal 15px Verdana, sans-serif; color: #2E2E2E; line-height: 1.6; border-bottom: 1px dashed #ccc; padding-bottom: 10px; } ul li:before { content: ""; position: absolute; width: 27px; height: 24px; margin-left: -35px; margin-top: -2px; background: url("images/sprite.jpg") 0px 2px no-repeat; list-style-type: circle; } ul li:nth-child(2n):before { content: ""; position: absolute; width: 27px; height: 43px; margin-left: -35px; margin-top: -2px; background: url("images/sprite.jpg") 0px -17px no-repeat; list-style-type: circle; }

Можно вместо стандартного стиля list-style-type назначить свойство «путь к иконке» — list-style-image:url. Но тогда нужно прописать внешний левый отступ от краешков сайта — без него иконки не будут отображаться, уйдут за зону области контента.

Для эксперимента можно назначить отступы:

Ul li{ list-style-image: url(images/radio.png); margin-left: 30px; }

Чередование иконок можно задать свойством nth-child(An). В приведенном примере использован псевдоэлемент before.

В коде прописан один псевдокласс nth-child(2n). Его значение — 2. Получается, что каждому четному пункту соответствует другая иконка. Если вместо 2n написать 2n+1, то другая иконка будет приходиться на нечетные пункты.

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

Также каждому пункту можно назначить рамочки, фон, иконки. Только не перемудрите. Наша задача — не сразить всех наповал навороченным дизайном, а улучшить качество восприятия контента.

Как вывести на странице несколько списков с разным оформлением?

Иногда нужно разместить несколько списков с разными стилями.

Если назначить общие стили, то одно и то же оформление будет присвоено всем спискам. Разные списки можно вывести, если назначить тегу ol или ul отдельный id и прописать его в html режиме редактирования статьи. Ну а в файле стилей для этого id нужно прописать отдельные стили.

Вот, например, один симпатичный вариант оформления содержания:

В HTML вы пропишите список так:

    Содержание
  1. пункт 1
  2. пункт 2
  3. пункт 3

В CSS вы пропишите стили так:

Ol#sod{ padding: 0px 20px 10px 51px; margin: 0.5em 0 0em 1em; color: #2E2E2E; list-style-type: none; background: #f1f4f5; border-left: #BDC3C7 4px solid; display: inline-block; } ol#sod li{} ol#sod li:before{ font-weight:normal !important }

Новый стиль отличается от основного оформлением тега ol: фоном, стилем отображения, линией слева от содержимого.

Используя в тексте несколько разных по оформлению списков, вы сделаете подачу информации еще интереснее. При перечислении каких-либо предметов можно задать одни иконки, а при перечислении действий — другие. Здесь уже дизайн ограничивается только вашей фантазией.

Эти методы применимы и в дизайне пунктов меню, рубрик и любых других элементов сайта.

Как создать ссылки-якоря в списке содержания?

Как же их прописать в HTML коде? Один кусочек кода обрамляет анкор ссылки, а другой кусочек кода ставится рядом с тем местом, куда нас нужно перебросить при нажатии на ссылку.

    Содержание
  1. Заголовок 1
  2. Заголовок 2
  3. Заголовок 3

А в тексте статьи нужно написать так:

Заголовок 1… Заголовок 2… Заголовок 3…

Может быть более опытные вебмастера меня в чем-то поправят. Я просто советую то, что попробовала на практике сама.

Если у вас остались какие-то вопросы, буду рада увидеть их в комментариях.

Агеева Вероника.

Возможно вас еще заинтересует:

Продолжим наши разговоры о началах html. В этой статье я хочу поговорить о том, как создавать абзацы, списки и заголовки в тексте. А так же, об одиночных тегах
и


.

Настоятельно советую ознакомиться с первым уроком этой серии, а так же, с вводной статьей о начале изучения html тем, кто еще не ознакомлен с ними.

Теперь мы продолжим изучение тегов. Я буду предполагать, что читатель уже ознакомлен с материалом указанных выше статей.

Как всегда, план работы:

  1. Абзацы
  2. Разрывы строк
  3. Списки , и элементы списков
  4. Заголовки
  5. Горизонтальные линейки

Абзацы

Текст почти всегда состоит из абзацев. Абзац — это элемент текста, несущий законченную мысль.

В html абзац, как можно судить из заголовка, обозначается . Буква «p» взята из слова «paragraph», что как-раз обозначает «абзац».

Рассмотрим пример:

Текст первого абзаца. Он содержит мысль. Но вот мысль закончилась.


Вот уже началась другая мысль и мы пишем ее в другом абзаце.

Как видно, применение абзацев очень просто и не требует особых комментариев. Если посмотреть этот код в браузере, то мы увидим две строки, между которыми есть одна пустая строка. В русских текстах, абзац принято отделять не пустой строкой, а смещением первой строки вправо. Но в Интернете часто применяется именно такое форматирование, поэтому часто его оставляют и в русскоязычных текстах. Однакое, если такое поведение не устраивает, его можно поменять при помощи CSS.

Разрывы строк

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

Ветер весело гуляет

И кораблик подгоняет

Он бежит себе в волнах
На поднятых парусах.

Этот фрагмет стихотворения А.С. Пушкина помог нам проиллюстрировать действие тега
. Я специально последние две строки этого четверостишия разместил в одной строке кода, чтобы показать, что строки переносятся на новую строку не из-за того, что мы расставили переносы строк, а из-за того, что мы расставили теги
. Этот тег совсем простой и не нуждается в подробных пояснениях, поэтому на этом мы закончим его обсуждать.

Списки ,
    и элементы списков

Иногда в тексте нужно перечислить что-то. Для этой цели применяются три тега: ul, ol, li. Все эти теги контейнерные, но тег всегда содержится в одном из контейнеров или , и не имеет смысла вне них. Контейнер ul применяется, когда нам не важен порядок перечисляемых позиций, и мы не хотим акцентировать внимание на порядке, в котором они идут. А тег ol, наоборот, акцентирует внимание на последовательности следования элементов, автоматически нумеруя каждую строку. Рассмотрим пример:


  • Булка

  • Пирожок

  • Буханка

  • Пирог

На экране браузера этот код будет выглядеть так:

  • Булка
  • Пирожок
  • Буханка
  • Пирог

Если мы просто заменим тег ul на тег ol, то получим нумерованый список:


  1. Булка

  2. Пирожок

  3. Буханка

  4. Пирог

Теперь это выглядит так:

  1. Булка
  2. Пирожок
  3. Буханка
  4. Пирог

Никто не запрещает вкладывать один список в другой, формируя вложенные списки с подсписками:


    Инструменты:
  • Пила

  • Отвертки

    1. Прямая

    2. Крестовая



  • Дрель

Нужно немного поэкспериментировать с этими списками, чтобы приучиться их использовать. Есть еще один вид списков, но он применяется редко, поэтому я не буду о нем сейчас рассказывать. Может быть, в другой статье.

Конечно, как и все остальное, внешний вид этих элементов может быть изменен до неузнаваемости при помощи CSS.

Заголовки

Конечно, абзацы помогают в структурировании документов. Но для того, чтобы разбить большой текст на меньшие логические части, можно озаглавить каждую из них. Каждая часть может содержать еще подчасти, со своими заголовками нижнего уровня, и так далее. Для задания заголовка, служат теги , где «x» — число от 1 до 6. Заголовок тем ниже уровнем, чем больше это число. То есть, заголовок самого верхнего уровня будет называться h1, а самого нижнего — h6. По-умолчанию, текст, находящийся в этих заголовках, отображается большим шрифтом с отступами. Этот текст отображается на всю строку, то есть теги hx являются блочными. У тега h1 шрифт самый крупный, а у тега h6 — самый мелкий. Как правило, на странице один, максимум — два тега верхнего уровня h1. С понижением уровня, количество тегов возрастает. Но редко какой веб-мастер сможет разбить текст так, что ему понадобятся заголовки 5 или 6 уровня. Даже 4 уровень применяется редко.

Меньше слов, больше дела!

Элемент

    (от англ. "unordered list" ‒ «неупорядоченный список») создаёт маркированный (неупорядоченный) список. Как правило, элемент
      применяется для создания таких списков, где изменение порядка следования пунктов этого списка существенно не меняет смысл списка.

      Тег

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

        Пункты для нумерованных списков определяются с помощью тега

      • , который, помимо текста, может включать в себя другие HTML-элементы (списки, изображения, заголовки, абзацы и др.). По умолчанию, маркированные списки отображаются на веб-странице в виде списка, начинающегося с маленького чёрного круга. Браузеры при отображении элементов списка добавляют небольшой отступ от левого края.

        Примечание: Если к

          применяется CSS свойство, то элементы
        • наследуют эти свойства.

          Совет: Для изменения типа маркера используйте CSS свойство list-style-type или свойство list-style-image , позволяющее заменять маркеры на изображения. Для создания нумерованных списков используйте тег

            .

            Синтаксис

              ...
            • ...
            • ...

            Закрывающий тег

            Обязателен.

            Атрибуты

            compactУстарел в HTML5 Сокращает отступы и расстояния между строками. type HTML5 Устанавливает вид маркера списка.

            Для этого элемента доступны глобальные атрибуты и события .

            Стилизация по умолчанию

            Большинство браузеров отобразит элемент

              со следующими значениями CSS по умолчанию:

              Ul { display: block; list-style-type: disc; margin-top: 1em; margin-bottom: 1 em; margin-left: 0; margin-right: 0; padding-left: 40px; }

              Различия между HTML 4.01 и HTML5

              Атрибуты compact и type не поддерживаются в HTML5.

              Пример использования:

              Неупорядоченный HTML список:

              Пример HTML:

              Попробуй сам
              • Кофе
              • Чай
              • Какао

              Спецификации

              Спецификация Статус
              WHATWG HTML Living Standard (WHATWG) Живой стандарт
              HTML 4.01 (W3C) Рекомендация
              HTML5 (W3C) Рекомендация
              HTML 5.1 (W3C) Рекомендация

              Поддержка браузерами

              Попробуйте сами - Примеры

              Как сделать, чтобы список начинался с номера, отличного от 1.

              Если вы когда-либо пробовали изменять css-стили номеров строк (цифр) в упорядоченных списках

                , то, наверняка, сталкивались с проблемами. Достучаться до стилей этих элементов при помощи css-селекторов невозможно. А ведь довольно часто дизайн интерфейса предполагает изменение иx цвета, фона, размера и т.д.

                Вот самый простой пример нестилизованного списка:

                html

                1. Посадить дерево
                2. Построить дом
                3. Вырастить сына

                Давайте рассморим несколько способов решения вышеописанной задачи.

                Традиционно топорный способ.

                Традиционный способ решения этой проблемы сводится к тому, чтобы скрыть номера строк, автоматически расставленные браузером. При этом используется свойство list-style: none; .

                css

                li{ list-style: none; } .num{ color: white; background: #2980B9; display: inline-block; text-align: center; margin: 5px 10px; line-height: 40px; width: 40px; height: 40px; }

                html

                1. 1 Посадить дерево
                2. 2 Построить дом
                3. 3 Вырастить сына

                Согласитесь, выглядит избыточно и не гибко. Мы скрываем автоматически расставленные порядковые номера и заменяем их вручную заданными значениями, засоряем верстку и т.п.

                Давайте посмотрим, как можно добиться такого же результата, не засоряя верстку и используя псевдоэлемент::before и css-свойства content , counter-increment , counter-reset .

                Красивый и правильный способ.

                Вначале мы приведем код и демку, а потом разберемся, что к чему.

                css

                ol{ counter-reset: myCounter; } li{ list-style: none; } li:before { counter-increment: myCounter; content:counter(myCounter); color: white; background: #2980B9; display: inline-block; text-align: center; margin: 5px 10px; line-height: 40px; width: 40px; height: 40px; }

                html

                1. Посадить дерево
                2. Построить дом
                3. Вырастить сына

                Как видите, html-код остается чистым и красивым. При этом вся стилизация элементов списка переносится в css.

                Давайте разберем по пунктам:

                • li::before – создает внутри списка псевдоэлемент, который становится на место первого потомка.
                • counter-reset:myCounter; – обнуляет css-счетчик myCounter внутри каждого
                    .
                  1. counter-increment: myCounter; – инкрементирует css-счетчик myCounter для каждого псевдоэлемента::before .
                  2. content:counter(myCounter); – выводит текущее значение счетчика myCounter внутри псевдоэлемента::before .

                подробнее о css-счетчиках можно посмотреть в