Создание пользовательских маркеров в HTML с CSS: символ +

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для создания уникальных маркеров элементов <li> используйте CSS-свойства ::before и content. Сначала установите для <ul> свойство list-style-type: none, чтобы скрыть стандартные маркеры. Затем, воспользовавшись content, добавьте необходимый символ и отрегулируйте отступы и поля для корректного выравнивания.

CSS
Скопировать код
ul.no-bullets {
    list-style-type: none;
    padding-left: 0;
}

li.custom-bullet::before {
    content: '•';
    padding-right: 5px;
}

li {
    margin-left: 20px;
}
HTML
Скопировать код
<ul class="no-bullets">
    <li class="custom-bullet">Элемент 1</li>
    <li class="custom-bullet">Элемент 2</li>
</ul>

Вы можете заменить символ '•' на любой другой символ, например с использованием эмодзи или специальных значков. Достаточно подстроить padding-right и margin-left для нужного расстояния между элементами.

Кинга Идем в IT: пошаговый план для смены профессии

Профессиональное оформление маркеров: сложные настройки

Контекстно-зависимые маркеры с использованием эмодзи или специальных символов

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

CSS
Скопировать код
li.custom-emoji::before {
    content: '🚀';
    margin-right: 8px;
}

Точное выравнивание маркеров с позиционированием

Для строгого выравнивания маркеров применяйте position: relative для <ul> и position: absolute для ::before:

CSS
Скопировать код
ul {
  position: relative;
}

li::before {
  position: absolute;
  left: 0;
  top: 0;
}

Висячий отступ с отрицательным text-indent

Если вы хотите предотвратить разрыв между текстом и маркером, используйте отрицательный text-indent для создания эффекта висячего отступа:

CSS
Скопировать код
li {
    text-indent: -5px;
}

Визуализация

Список до внесения изменений

Markdown
Скопировать код
Обычный список (🃏): 
  [Туз, Король, Дама, Валет]

Преобразуем обыкновенный список в захватывающую колоду карт с помощью стилевых изменений.

Список после внесения изменений

HTML
Скопировать код
<ul style="list-style-type: '♣️ ';">
  <li>Туз</li>
  <li>Король</li>
  <li>Дама</li>
  <li>Валет</li>
</ul>

Теперь каждый элемент <li> – это карта в колоде, отмеченная соответствующей мастью:

Markdown
Скопировать код
Список с маркировкой (♣️): 
  [Туз ♣️, Король ♣️, Дама ♣️, Валет ♣️]

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

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

CSS
Скопировать код
li {
    padding-left: 20px; 
}

Использование веб-шрифтов для создания иконок-маркеров

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

HTML
Скопировать код
<link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css">
CSS
Скопировать код
li::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f00c';
}

Полезные материалы

  1. ::marker – CSS: Cascading Style Sheets | MDN — детальная документация о псевдоэлементе ::marker, который можно использовать для стилизации списков в CSS.
  2. list-style | CSS-Tricks – CSS-Tricks — исчерпывающая инструкция о стилизации списков с помощью CSS-свойства list-style.
  3. Оформление списков в CSS — доступный урок о том, как с помощью CSS можно оформить списки.
  4. Выбор иконок для создания уникального маркированного списка | Font Awesome — обширная коллекция шрифтовых иконок для создания уникальных маркеров.
  5. Псевдоэлементы – CSS: Cascading Style Sheets | MDN — всесторонний обзор псевдоэлементов в CSS, пригодных для углублённого оформления списков.
  6. "::marker" | Can I use... Support tables for HTML5, CSS3, etc — таблицы поддержки, позволяющие проверить, как браузеры работают с псевдоэлементом ::marker.