Как в css изменить маркер списка. Маркированные списки. Различные Маркеры Пунктов Списка

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

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

    1. - изложенная в учебнике HTML глава 9 - рекомендую освежить в голове информацию о данных элементах, прежде чем приступать к работе.

      Ну а если в голове и так свежо тогда начнем!

      Вид маркера в списке.

      Если Вы помните, то в чистом HTML вид маркера в списке определял атрибут type и одно из его возможных значений, в CSS данную задачу берёт на себя свойство: list-style-type которое, в свою очередь, тоже имеет свои стандартные значения определяющие вид маркера как всего списка сразу, так и его отдельного "пункта".

      Значения list-style-type:

      • disc - Диск. (по умолчанию для
          )
        • circle - Полый круг.
        • square - Квадрат.
        • decimal - Арабские цифры. (по умолчанию для
            )
          1. lower-roman - Строчные римские цифры.
          2. lower-alpha - Строчные буквы.
          3. upper-roman - Заглавные римские цифры.
          4. upper-alpha - Заглавные буквы.
          5. none - Маркер отсутствует.




        Вид маркера в списке



        • Пункт 1.
        • Пункт 2.
        • Пункт 3 (особенный).


        • Пункт 1.
        • Пункт 2.
        • Пункт 3.


        Пользовательский маркер рисунок.

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

        Эту задачу выполняет свойство list-style-image которое определяет в качестве маркера списка некое графическое изображение с указанием пути к нему.

        Значений данного свойства всего два:

        • none - Отменяет графическое изображение маркера.
        • url - Путь к файлу с рисунком маркера.

        Путь к рисунку после url указывается в круглых скобках.

        Такая запись будет говорить о том, что рядом с документом есть папка graphics в которой лежит файлик-рисунок: " " - под названьем marker.gif

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




        Нестандартный маркер-рисунок



        • Первый любимый пункт.
        • Второй любимый пункт.
        • И не менее любимый третий пункт.


        Стиль обтекания маркера списком.

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

        Возможных значений свойства list-style-position всего два:

        • outside - Маркер находится в стороне от списка.(по умолчанию)
        • inside - Маркер обтекается текстом.

        Пример для наглядности:




        Обтекание маркера текстом




        Здесь маркер обтекается текстом:








        А здесь нет:



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



        list-style

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

        Все три свойства и их возможные значения мы рассмотрели выше, поэтому повторятся не буду, а просто выложу внутри страничную навигацию:

        Если в голове остались какие то пробелы можете вернуться и перечитать.




        Стиль списка




        • - Этот список использует в качестве маркера рисунок.
        • - Текст этого списка обтекает маркер.



          Списки наряду с заголовками, выделенным текстом и картинками, являются элементами, которые приковывают взгляд посетителя при беглом просмотре страницы. Умелое и ненавязчивое размещение таковых элементов залог того, что посетитель окунётся в чтение Вашего документа более глубоко.

          Так как списки являются великолепным инструментом для структуризации данных, а свойства CSS позволяют создать практически любой их дизайн, используйте списки, помимо их основного назначения, в качестве "меню" - навигации по сайту, где каждый пункт является ссылкой на ту или иную страницу Вашего сайта.

        Если вы когда-либо пробовали изменять 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 у маркированных пунктов списка (ul li) убрать маркеры, потому что они зачастую не нужны и только мешают оформлять сайт.

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

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

          Ul{
          List-style-type: none;
          }

          Ul{
          List-style: none;
          }

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            С помощью 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 - маркер располагается внутри пункта списка вместе с содержимым

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

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

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

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



Понравилась статья? Поделиться с друзьями: