Css маркированный список. CSS для списков: свойство list-style и его производные

27.06.2020
  • Изменение вида стандартного маркера для нумерованных списков
  • Установка типа маркера для маркированных списков
  • Установка изображения вместо маркера для элементов списка

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

Изменение и удаление маркеров

Для изменения стандартного внешнего вида маркера в CSS используется свойство list-style-type , в качестве значения задается тот вид маркера, на который вы хотите заменить стандартный.

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

CSS Свойство:

list-style-type:

Результат:

  1. Кликните на значение свойства list-style-type
  2. Наблюдайте за сменой маркеров
  3. Используйте для своих списков наиболее подходящие маркеры

Ol#myList {
list-style-type: decimal ;
}

Кликните на любое значение свойства, чтобы увидеть результат

Для маркированных списков существует всего три вида маркеров, которые можно задать с помощью значений circle, disk и squred:

Название документа

  • Кофе
  • Чай
  • Кофе
  • Чай
  • Кофе
  • Чай
Попробовать »

С помощью значения none можно удалить маркеры у пунктов в списке, но отступ слева при этом все равно останется:

Название документа

  • Кофе
  • Чай
  1. Кофе
  2. Чай
Попробовать »

Замена маркеров картинками

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

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

Название документа

  • Кофе
  • Чай
  1. Кофе
  2. Чай
Попробовать »

Отступ списка

При удалении маркеров у пунктов списка можно также удалить или уменьшить размер левого отступа, устанавливаемый браузером по умолчанию. Для полного удаления отступа нужно будет воспользоваться свойством padding-left , которое позволяет регулировать внутренний отступ:

Название документа

  • Кофе
  • Чай
  1. Кофе
  2. Чай
Попробовать »

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

  • , а просто скрываются за краем окна браузера.

    Свойство list-style-position указывает, должен ли маркер располагаться внутри или снаружи пунктов списка. Данное свойство может принимать два значения:

    • outside - маркер располагается слева от содержимого (является значением по умолчанию)
    • inside - маркер располагается внутри пункта списка вместе с содержимым

    Теперь можно переписать предыдущий пример так, чтоб отступ с левой стороны был убран, но маркеры при этом не уезжали за край браузера:

    Название документа

    • Кофе
    • Чай
    • Кофе
    • Чай
    • Кофе
    • Чай
    Попробовать »

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

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

      , а каждый пункт списка начинается с тега
    • , как показано ниже.

      • Первый пункт
      • Второй пункт
      • Третий пункт

      В списке непременно должен присутствовать закрывающий тег

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

    В примере 11.1 приведен код HTML для добавления маркированного списка на веб-странице.

    Пример 11.1. Создание маркированного списка

    Маркированный список


    • Чебурашка
    • Крокодил Гена
    • Шапокляк
    • Крыса Лариса

    Результат данного примера показан на рис. 11.1.

    Рис. 11.1. Вид маркированного списка

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

    Маркеры могут принимать один из трех видов: круг (по умолчанию), окружность и квадрат. Для выбора стиля маркера используется атрибут type тега

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

      Табл. 11.1. Стили маркеров списка
      Тип списка Код HTML Пример
      Список с маркерами в виде круга

      • Первый
      • Второй
      • Третий
      Список с маркерами в виде окружности

      • Первый
      • Второй
      • Третий
      Список с квадратными маркерами

      • Первый
      • Второй
      • Третий

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

      Создание списка с квадратными маркерами показано в примере 11.2.

      Пример 11.2. Вид маркеров

      Маркированный список

      Изменение убеждений

      • изменение религиозной веры (на выбор: буддизм, конфуцианство, индуизм). Специальное предложение - иудаизм и мусульманство вместе;
      • изменение веры в непогрешимость любимой партии;
      • убеждение в том, что инопланетяне существуют;
      • предпочтение политического строя, как самого лучшего в своем роде (на выбор: феодализм, социализм, коммунизм, капитализм).

      Результат данного примера показан на рис. 11.2.

      Если вы когда-либо пробовали изменять 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-счетчиках можно посмотреть в

        Продолжаем изучать CSS свойства различных элементов. И в этом уроке пойдет речь об оформлении списков. Списки на практике используются достаточно часто, поэтому эти свойства нужно запомнить.

        Обычный вид маркера

        И, первое - задать внешний вид маркеров. Маркеры у списков бывают разные. В уроках по HTML Нумерованных списках показывается, как менять маркеры с помощью атрибута type . Но зная CSS данный атрибут больше не нужен, так как все это делается, куда удобней, благодаря таблице стилей CSS .

        Для демонстрации давайте создадим список, с использованием CSS . Особо не имеет значения какой нумерованный список или ненумерованный список , так как с помощью свойства list-style-typet мы можем добавить маркеры или удалить их.

        HTML

        HTML страница

        • Ненумерованный список
        • Ненумерованный список
        • Ненумерованный список
        • Ненумерованный список

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

        Убирается маркер у списка с помощью свойства list-style-typet и присваивая ему значение none . Это является самым популярным вариантом по удалению маркеров у списка. И для списка зададим то самое свойство.

        Ul{ list-style-type: none; }

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

        • none - Удаляет маркеры у списка
        • circle - Маркер в виде круга
        • disc" - Маркер в виде заполненного круга. Значение по умолчанию
        • square - Маркер в виде квадрата
        • armenian - Армянская нумерация
        • decimal - Маркер в виде цифры
        • decimal-leading-zero - Цифры с «0» перед началом (01, 02, 03, и т.д.)
        • georgian - Грузинская нумерация
        • lower-alpha - (а, Ь, с, d, е, и т.д.)
        • lower-greek - (alpha, beta, gamma, и т.д.)
        • lower-latin - (a, b, с, d, e, и т.д.)
        • Iower-roman - (i, ii, iii, iv, v, и т.д.)
        • upper-alpha - (А, В, С, D, Е, и т.д.)
        • upper-latin - (А, В, С, D, Е, и т.д.)
        • upper-roman - (I, II, III, IV, V, и т.Д.)
        • inherit - Значение должно быть унаследовано от элемента родителя

        Это все вида маркеров для списков. Первые четыре вида самые распространённые, остальные виды применяются достаточно редко.

        Ну и для примера давайте выберем и зададим маркер в виде больших римских цифр. Делается это просто: в место значения none ставим название нашего маркера upper-roman .

        Ul{ list-style-type: upper-roman; }

        Если обновить страницу, то у списков в виде маркеров появились римские большие цифры. Вот таким способом можно менять внешний вид маркеров списков, задавая нужный вид через свойство list-style-type .

        Маркер в виде изображения

        Второй, достаточно важный момент, и часто используемый маркер - это изображение в виде маркера. Часто нужно использовать маркер в виде красивой картинки и обычные варианты маркеров представленных CSS не подходят. Для этого используется изображения. И делается это с помощью специального свойства, которое называется list-style-image . Это будет указывать браузеру, что маркером у нас будет картинка.

        Возьмите любую картинку в интернете размером (15px x 15px) , которую планируется использовать в качестве маркера и поместите ее в ранее уже созданную папку с картинками images . После этого, остается свойству list-style-image указать путь к картинке и браузер вместо маркера подставит картинку.

        В CSS путь указывается с помощью ключевого слова url() . В скобках указываем путь к картинке ../images/Название картинки.jpg , относительно таблицы стилей.

        То есть, что значит относительно таблицы стилей? Наша таблица стилей - файл style.css , лежит в каталоге CSS , а картинка лежит в каталоге images . Это значит, что браузеру нужно указать, что ему сначала нужно выйти из каталога CSS , это делается так: ../ , а затем зайти в в каталог с картинкой images и уже затем найти нужную картинку.

        Ul{ list-style-image: url(../images/Название картинки маркера.jpg); }

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

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

      1. .

        Ul li{ border: 2px solid #ff0000; }

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

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

        Ul{ list-style-image: url(../images/Название картинки маркера.jpg); list-style-position:inside; } ul li{ border: 2px solid #ff0000; }

        Вот таким образом работают три этих свойства. Существует и сокращенный вариант записи, который объединяет все эти свойства.

        То есть, указывается свойство list-style и затем, по порядку, значения типа маркера, позиции маркера и, если нужно путь к картинке, которая и будет маркером. И, картина у нас получится следующая:

        Ul{ list-style: inside url(../images/Название картинки маркера.jpg); }

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

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

        Приветствую вас на своем блоге. Сегодня я хотел бы затронуть тему, как через css у маркированных пунктов списка (ul li) убрать маркеры, потому что они зачастую не нужны и только мешают оформлять сайт.

        Убираем маркеры по умолчанию

        Иногда нужно просто убрать их. Например, при оформлении меню или чего-то другого. За отображение маркеров отвечает свойство list-style-type или сокращенное list-style . Значением по умолчанию выступает circle , то есть черный закрашенный кружочек. Чтобы убрать его, всего лишь нужно написать так:

        Ul{
        List-style-type: none;
        }

        Ul{
        List-style: none;
        }

        Заметьте, что свойство записывается всему списку в общем, а не отдельным его пунктам. Это очень важно. Вышеприведенная запись убирает маркеры у всех списков на вашем сайте, но может быть так, что у вас будет несколько оформлений списков.

        В таком случае справиться с их стилизацией помогут классы. Нужным спискам просто вешаете стилевой класс и оформляете их.

        Как поставить свою картинку маркера

        Да-да, css позволяет создать свой, гораздо более привлекательный маркер. Его можно задать также с помощью свойства list-style-image , либо упрощенно с помощью list-style . В значении в скобках прописывается путь к файлу, а перед ним нужно поставить ключевое слово url .