Как изменить размер маркера картинки css

In this article we will learn to set an image or icon as the li image. We need to set the size of the custom list image to make it attractive. So we will also learn the different ways to resize the custom list image. Syntax In this article we

Improve Article

Save Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    In this article, we will learn to set an image or icon as the <li> image. We need to set the size of the custom list image to make it attractive. So, we will also learn the different ways to resize the custom list image.

    Syntax: In this article, we will use below CSS properties.

    • background-image: We will add a custom image as a background image in the list items.
    li::before {
        background-image: url("image_URL");
    }
    • background-size: It will be used to set the size of the background image.
    li {
        background-size: 20px;
    }

    Approach 1: First, we will set the list-icon as background-image and we can customize its size using the height and width property.

    Example:

    HTML

    <!DOCTYPE html>

    <html lang="en">

    <head>

        <title>List icon</title>

        <style>

            li {

                list-style: none;

            }

            /* Set the list image as background image*/

            li::before {

                content: '';

                display: inline-block;

                margin-right: 10px;

                /* Height of the list image*/

                height: 10px;

                /* Width of the list image*/

                width: 10px;

                background-image: url(

            }

        </style>

    </head>

    <body>

        <h1 style="color:green;">

            GeeksforGeeks

        </h1>

        <ul>

            <li>Geeks</li>

            <li>for</li>

            <li>Geeks</li>

        </ul>

    </body>

    </html>

    Output:

    In the above output image, users can see the difference between the size of the list-style-image when we set sizes 30px and 10px.

    Approach 2: In this approach, we will set the image size by using the background-size property for the <li> element.

    Example:

    HTML

    <!DOCTYPE html>

    <html lang="en">

    <head>

        <title>List icon</title>

        <style>

            /* Set the size of the list image using 

            the background-size property. */

            li {

                list-style: none;

                padding: 10px 30px;

                background-image: url(

                background-repeat: no-repeat;

                background-position: left center;

                background-size: 20px;

            }

        </style>

    </head>

    <body>

        <h1 style="color:green;">

            GeeksforGeeks

        </h1>

        <ul>

            <li>Geeks</li>

            <li>for</li>

            <li>Geeks</li>

        </ul>

    </body>

    </html>

    Output: 

    Users can see the above output image for the background-size: 20px.

    Approach 3: We set the separate custom image for every list item and add style to that image.

    HTML

    Output: 

    Users can see the above output after setup the custom image for every list item.

    list-style-image

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

    Часто более удобно использовать сокращенный list-style .

    Try it

    Примечание. Это свойство применяется к элементам списка, т.е. элементам с display: list-item; по умолчанию это включает элементы <li> .Поскольку это свойство наследуется, его можно установить для родительского элемента (обычно <ol> или <ul> ), чтобы оно применялось ко всем элементам списка.

    Syntax

    list-style-image: none;
    
    
    list-style-image: url('starsolid.gif');
    
    
    list-style-image: linear-gradient(to left bottom, red, blue);
    
    
    list-style-image: inherit;
    list-style-image: initial;
    list-style-image: revert;
    list-style-image: revert-layer;
    list-style-image: unset;
    

    Values

    <image>

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

    none

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

    Formal definition

    Formal syntax

    list-style-image =   <image>  |  none     <image> =   <url>       |  <gradient>  

    Examples

    Использование значения url

    HTML

    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
    </ul>
    

    CSS

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

    Result

    Использование градиента

    HTML

    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
    </ul>
    

    CSS

    ul {
      font-size: 200%;
      list-style-image: linear-gradient(to left bottom, red, blue);
    }
    

    Result

    Specifications

    Browser compatibility

    Desktop Mobile
    Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet
    list-style-image

    1

    12

    1

    До Firefox 86 это свойство не принимало тип <image> и требовало URL-адреса изображения.

    4

    7

    1

    4.4

    18

    4

    До Firefox 86 это свойство не принимало тип <image> и требовало URL-адреса изображения.

    10.1

    1

    1.0

    See also

    • list-style, list-style-type, list-style-position
    • url() function


    CSS

    • line-height-step

      Экспериментальный:Эта технологияПеред использованием продукции внимательно проверьте таблицу совместимости браузеров.

    • list-style

      Свойство list-style CSS shorthand позволяет задавать свойства сразу.

    • list-style-position

      CSS-свойство list-style-position устанавливает ::marker относительно элемента.

    • list-style-type

      CSS-свойство list-style-type устанавливает маркер (например,диск,символ или пользовательский счетчик элемента.

    Как изменить маркер списка

    Как изменить маркер списка

    По умолчанию маркером списка ul, служит простая черная точка. Я знаю, что многие начинающие верстальщики, используют маркированные списки для разметки меню навигации, предварительно обнулив в CSS значение селектора ul.

    Давайте рассмотрим на примере, что я имею ввиду.

    HTML разметка базового маркированного списка:


    <ul>
      <li>Анжелика</li>
      <li>Анастасия</li>
      <li>Анатолий</li>
      <li>Александр</li>
    </ul>

    На странице, вы увидите следующее.

    Как изменить маркер списка.

    Как верстают меню навигации без точек? Просто в стилях прописывают следующую строчку.


    ul {
      list-style: none;
    }

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

    Меняем цвет маркера списка (1-ый способ)

    Удалим дефолтные черные точки.


    ul {
      list-style: none;
    }

    А взамен, поставим другие точки, поставив псевдоэлемент before перед всеми пунктами списка. Вместо точек, добавим значение свойства content «2022» , это CSS код точки, взятый из таблицы Юникода. Дальше к этим точкам, можно применять нужные стили.


    ul li::before {
      content: "2022"; /* юникод точки */
      color: orange; /* Менять цвет */
      font-weight: bold; /* Менять жирность */
      display: inline-block; /* Расстояние между точкой и текстом */
      width: 1em; /* Задать значение расстояния */
    }

    Пример с заменой цвета маркеров списка

    Как изменить маркер списка.

    Меняем цвет маркера списка (2-ой способ)

    Все спецсимволы Юникода имеют альтернативный HTML-код и могут вставляться напрямую в HTML разметку, между тегами span. Для разнообразия, мы используем в качестве маркера спецсимвол – ☑ галочка в квадрате.


    <ul>
      <li><span>☑</span>Анжелика</li>
      <li><span>☑</span>Анастасия</li>
      <li><span>☑</span>Анатолий</li>
      <li><span>☑</span>Александр</li>
    </ul>

    CSS-код


    ul {
      list-style: none;
    }

    span {
      color: cyan;
      font-weight: bold;
      display: inline-block;
      width: 1em;
      font-size: 20px;
    }

    Как изменить маркер списка.

    Второй способ изменения маркера списка, мне понравился больше. Он позволяет увеличить размер маркера (font-size), не задевая межстрочный интервал, чего нельзя сказать о первом способе.

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

    Как изменить маркер списка.

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

    На сегодняшний день, самый легкий способ вставки иконки-гамбургера в меню сайта – это вставка символа Юникода Trigram for Heaven — ☰.


    <a href="#">☰</a>

    Если вы нашли в таблице Юникода, нужный символ, то для вставки его на сайт, не нужно подключать библиотеку Font Awesome.

    Вместо маркера картинка

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


    ul {
      list-style: none;
    }
    ul li {
      background: url(images/icon_star.gif) no-repeat 0 5px;
    }

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

    Альтернативный способ:


    ul {
      list-style-image: url(images/icon_star.gif);
    }

    Для внедрения символов Юникода, кодировка страницы должна быть обязательно UTF-8.

    В HTML файле:


    <meta charset="utf-8"/>

    В отдельном CSS файле:


    @charset 'utf-8';

    Если вы только присматриваетесь к профессии верстальщика, то наиболее оптимальным решением будет, начинать своё обучение с верстки лендингов, начните с этого видеокурса «О создании лендинга под ключ».

    • Создано 28.11.2018 10:13:07


    • Михаил Русаков

    Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

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

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:

      Она выглядит вот так: Как создать свой сайт

    2. Текстовая ссылка:

      Она выглядит вот так: Как создать свой сайт

    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Теперь можно легко настроить цвет, размер и тип пункта или маркера при использовании <ul> или <ol>.

    Sep 2, 2020 — Обновлено Sep 2, 2020

    Oriol Brufau

    Благодаря Igalia при поддержке Bloomberg мы наконец-то можем избавиться от костылей для стилей списков. Посмотрите!

    Посмотреть в источнике

    Благодаря селектору CSS ::marker мы можем изменять содержимое и некоторые стили маркеров и чисел.

    Совместимость с браузерами #

    ::marker поддерживается в Firefox для настольных компьютеров и Android, Safari для настольных компьютеров и iOS (только свойства color и font-*, см. ошибку 204163), а также в браузерах для настольных компьютеров и Android на базе Chromium. См. обновления в таблице совместимости с браузерами MDN.

    Псевдоэлементы #

    Рассмотрим следующий базовый маркированный список HTML:

    <ul>
    <li>Lorem ipsum dolor sit amet consectetur adipisicing elit</li>
    <li>Dolores quaerat illo totam porro</li>
    <li>Quidem aliquid perferendis voluptates</li>
    <li>Ipsa adipisci fugit assumenda dicta voluptates nihil reprehenderit consequatur alias facilis rem</li>
    <li>Fuga</li>
    </ul>

    В результате получается такой ожидаемый рендеринг:

    Точка в начале каждого элемента <li> является произвольной! Браузер рисует и создает за вас сгенерированную рамку маркера.

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

    Создание маркера #

    Блок псевдоэлемента маркера ::marker автоматически создается внутри каждого элемента списка перед фактическим содержимым и псевдоэлементом ::before.

    li::before {
    content: "::before";
    background: lightgray;
    border-radius: 1ch;
    padding-inline: 1ch;
    margin-inline-end: 1ch;
    }

    Обычно элементы списка являются элементами HTML <li>, но другие элементы также могут стать элементами списка с помощью display: list-item .

    <dl>
    <dt>Lorem</dt>
    <dd>Lorem ipsum dolor sit amet consectetur adipisicing elit</dd>
    <dd>Dolores quaerat illo totam porro</dd>

    <dt>Ipsum</dt>
    <dd>Quidem aliquid perferendis voluptates</dd>
    </dl>

    dd {
    display: list-item;
    list-style-type: "🤯";
    padding-inline-start: 1ch;
    }

    Стилизация маркера #

    До ::marker списки можно было стилизовать с помощью list-style-type и list-style-image, чтобы изменить символ элемента списка с помощью одной строки CSS:

    li {
    list-style-image: url(/right-arrow.svg);
    /* ИЛИ */
    list-style-type: '👉';
    padding-inline-start: 1ch;
    }

    Это удобно, но нам нужно больше. А как насчет изменения цвета, размера, интервала и т. д.?! Вот где на помощь приходит ::marker. Он позволяет индивидуально и глобально выбирать эти псевдоэлементы из CSS:

    li::marker {
    color: hotpink;
    }

    li:first-child::marker {
    font-size: 5rem;
    }

    Свойство list-style-type дает очень ограниченные возможности для стилизации. Псевдоэлемент ::marker означает, что можно настроить таргетинг самого маркера и применить стили непосредственно к нему. Это дает гораздо больший контроль.

    Тем не менее, вы не можете использовать все свойства CSS для ::marker. Список разрешенных и запрещенных свойств четко указан в спецификации. Если вы экспериментируете с этим псевдоэлементом, а результата нет, ознакомьтесь с приведенным ниже списком — он описывает, что можно и что нельзя сделать с помощью CSS:

    Допустимые свойства CSS для ::marker #

    • animation-*
    • transition-*
    • color
    • direction
    • font-*
    • content
    • unicode-bidi
    • white-space

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

    Также обратите внимание на то, что отключенное свойство background не действует.

    Стили списков

    «`css li:nth-child(1) { list-style-type: ‘?’; font-size: 2rem; background: hsl(200 20% 88%); animation: color-change 3s ease-in-out infinite; } «`

    Смешанный результат для маркера и элемента списка

    Стили маркеров

    li:nth-child(2)::marker {
      content: '!';
      font-size: 2rem;
      background: hsl(200 20% 88%);
      animation: color-change 3s ease-in-out infinite;
    }
    
    Акцентированный результат для маркера и элемента списка

    Изменение содержимого маркера #

    Вот несколько способов стилизации маркеров.

    Изменение всех пунктов списка

    li {
    list-style-type: "😍";
    }

    /* ИЛИ */

    li::marker {
    content: "😍";
    }

    Изменение только одного пункта списка

    li:last-child::marker {
    content: "😍";
    }

    Замена маркера списка на SVG

    li::marker {
    content: url(/heart.svg);
    content: url(#heart);
    content: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='24' width='24'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z' fill='none' stroke='hotpink' stroke-width='3'/></svg>");
    }

    Изменение нумерованных списков А что насчет <ol>? Маркер в элементе нумерованного списка по умолчанию является числом, а не маркером. В CSS это называется счетчиками, и у них довольно широкие возможности. У счетчиков даже есть свойства для установки и сброса начала и конца нумерации или переключения цифр на римские. Можем ли мы это стилизовать? Да, и мы можем даже использовать значение содержимого маркера для создания собственного представления нумерации.

    li::marker {
    content: counter(list-item) "› ";
    color: hotpink;
    }

    Отладка #

    Chrome DevTools помогут вам проверить, отладить и изменить стили, применяемые к псевдоэлементам ::marker.

    DevTools открыты и показывают стили из пользовательского агента и пользовательских стилей

    Будущие стили псевдоэлементов #

    Вы можете узнать больше о :: marker здесь:

    • Списки, маркеры и счетчики CSS от журнала Smashing Magazine
    • Подсчет с помощью счетчиков CSS и сетки CSS от CSS-Tricks
    • Использование счетчиков CSS от MDN

    Приятно получить контроль над чем-то, что раньше было сложно стилизовать. Возможно, вы захотите стилизовать другие автоматически сгенерированные элементы. Вещи наподобие <details> или индикатора автозаполнения поискового ввода, реализация которых различается от браузера к браузеру, могут вас напрягать. Есть способ поделиться тем, что вам нужно — создать желание на https://webwewant.fyi.

    Последнее обновление: Sep 2, 2020 — Улучшить статью

    Return to all articles

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

    Читайте также:

  • Как изменить размер макета индизайн
  • Как изменить размер любого окна
  • Как изменить размер логотипа на тильде
  • Как изменить размер лифчика
  • Как изменить размер листа эксель

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии