Встановлення маркера списку у різний спосіб. Хочу змінити вигляд маркера на інший символ

Встановлення маркера списку у різний спосіб.  Хочу змінити вигляд маркера на інший символ
Встановлення маркера списку у різний спосіб. Хочу змінити вигляд маркера на інший символ

CSS-списки- Набір властивостей, що відповідають за оформлення списків. Використання HTML-списків дуже поширене під час створення панелей навігації сайтом. Елементи списку є набором блокових елементів.

За допомогою стандартних CSS-властивостей можна змінити зовнішній виглядмаркера списку, додати зображення для маркера, а також змінити розташування маркера. Висоту блоку маркера можна встановити властивістю line-height .

Оформлення списків за допомогою CSS-стилів

1. Тип маркера списку list-style-type

Властивість змінює тип маркера або видаляє маркердля маркованого та нумерованого списків. Успадковується.

list-style-type
Значення:
disc Значення за замовчуванням. Як маркер елементів списку виступає зафарбований гурток.
armenian Традиційна вірменська нумерація.
circle Як маркер виступає незафарбований гурток.
cjk-ideographic Ідеографічна нумерація.
decimal 1, 2, 3, 4, 5, …
decimal-leading-zero 01, 02, 03, 04, 05, …
georgian Традиційна грузинська нумерація.
hebrew Традиційна єврейська нумерація.
hiragana Японська нумерація: a, i, u, e, o, …
hiragana-iroha Японська нумерація: i, ro, ha, ni, ho, …
katakana Японська нумерація: A, I, U, E, O, …
katakana-iroha Японська нумерація: I, RO, HA, NI, HO, …
lower-alpha a, b, c, d, e, …
lower-greek Рядкові символи грецького алфавіту.
lower-latin a, b, c, d, e, …
lower-roman i, ii, iii, iv, v, …
none Маркер відсутня.
square Як маркер виступає зафарбований або незафарбований квадрат.
upper-alpha A, B, C, D, E, …
upper-latin A, B, C, D, E, …
upper-roman I, II, III, IV, V, …
initial Встановлює значення властивості значення за замовчуванням.
inherit Наслідує значення властивості від батьківського елемента.

Синтаксис

Ul (list-style-type: none;) ul (list-style-type: square;) ol (list-style-type: none;) ol (list-style-type: lower-alpha;) Мал. 1. Приклад оформлення маркованого та нумерованого списків

2. Зображення для списку елементів list-style-image

Як маркер елементів списку можна використовувати зображення та градієнт заливки. Успадковується.

Синтаксис

Ul (list-style-image: url("images/romb.png");) ul (list-style-image: linear-gradient(#FF7A2F 0, #FF7A2F 50%, #FFB214 50%);)
Мал. 2. Оформлення маркованого списку за допомогою зображення
Мал. 3. Оформлення маркованого списку за допомогою градієнта

3. Розташування маркера списку list-style-position

Ця властивість надає можливість розташовувати маркер поза або всередині вмісту списку. Успадковується.

Існує два популярні способи зміни кольору маркерів, щоб вони відрізнялися від кольору тексту.

Використання

Всередину кожного елемента

  • вкладаємо , а вже всередину його поміщаємо текст. Іншими словами замість традиційної схеми

  • текст
  • створюємо конструкцію

  • текст
  • У цьому колір маркерів визначається стильовим властивістю color для селектора li , а колір тексту - селектора span (приклад 1).

    Приклад 1. Використання вкладених тегів

    Колір тексту та маркерів у списку

    • Скрипка
    • Гітара
    • Волинка
    • Шарманка
    • Челеста

    Результат цього прикладу показаний нижче (рис. 1).

    Мал. 1. Маркери, які відрізняються за кольором від основного тексту

    Незважаючи на простоту, метод незручний, особливо при об'ємних списках, адже до кожного пункту списку тепер доведеться додавати .

    Використання:before

    Сенс у наступному - прибираємо оригінальні маркери списку через властивість list-style-type і додаємо свої власні маркери за допомогою псевдоелементу ::before та властивості content. Така зв'язка дозволяє вставляти будь-який текст або символ перед елементом, у разі

  • . Причому видом тексту (колір, шрифт, тло та ін.) також можна керувати через стилі, що продемонстровано в прикладі 2.

    Приклад 2. Використання псевдоелемента :: before

    Колір маркерів у списку

    • Північ
    • Південь
    • Захід
    • Схід

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

    Завдання

    Задати колір маркерів у списку, не змінюючи колір тексту.

    Рішення

    Існує два способи зміни кольору маркерів, умовно назвемо їх простий та хитрий. Простий метод полягає в тому, що всередину

  • вкладаємо тег , а вже всередину його поміщаємо текст. Іншими словами замість традиційної схеми
  • текст
  • створюємо конструкцію
  • текст
  • . При цьому колір маркерів визначається стильовою властивістю color для селектора LI, а колір тексту для селектора SPAN (приклад 1).

    Приклад 1. Використання вкладених тегів

    HTML5 CSS 2.1 IE Cr Op Sa Fx

    Колір тексту та маркерів у списку

    • Скрипка
    • Гітара
    • Волинка
    • Шарманка
    • Челеста

    Результат цього прикладу показаний нижче (рис. 1).

    Мал. 1. Маркери, які відрізняються за кольором від основного тексту

    Незважаючи на простоту, метод незручний, особливо при об'ємних списках, адже до кожного пункту списку доведеться додавати тег. . Тому розберемо хитрий спосіб повністю заснований на роботі CSS.

    Internet Explorer Chrome Opera Safari Firefox Android iOS
    8.0+ 1.0+ 7.0+ 3.1+ 1.0+ 1.0+ 1.0+

    Сенс у наступному - прибираємо оригінальні маркери списку через властивість list-style-type і додаємо свої власні маркери за допомогою псевдоелемента: before та властивості content. Така зв'язка дозволяє вставляти будь-який текст або символ перед елементом, у разі LI . Причому видом тексту (колір, шрифт, тло та ін.) також можна керувати через стилі, що і продемонстровано в прикладі 2. Тут як маркер використовується символ параграфа ¶.

    Приклад 2. Використання псевдоелемента: before

    HTML5 CSS 2.1 IE Cr Op Sa Fx

    Колір маркерів у списку

    • Північ
    • Південь
    • Захід
    • Схід

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

    Мал. 2. Маркери, створені за допомогою стилів



    Змінити колір маркерів у HTML-списку без використання діапазону (6)

    Для мене найкращим варіантомє використання псевдоелементів CSS, тому для disc кулі disc це буде виглядати так:

    ul ( list-style-type: none; ) li ( position: relative; ) li:before ( content: ""; display: block; position: absolute; width: 5px; /* adjust to suit your needs */ height: 5px;/* adjust to suit your needs */ border-radius: 50%;left: -15px; / )

    • first
    • second
    • third

    • width і height повинні мати рівні значення, щоб утримувати вказівники округлими
    • ви можете встановити border-radius рівним нулю, якщо ви хочете мати square кулі

    Для більш стилів кулі можна використовувати інші css-форми https://css-tricks.com/examples/ShapesOfCSS/ (виберіть це, для якого не потрібні псевдоелементи, наприклад, трикутники)

    Мені було цікаво, чи є спосіб змінити колір на кулі у списку.

    У мене є список:

    • House
    • Garden

    Неможливо вставити щось у li, наприклад, span і p. Чи можу я змінити колір куль, але не текст якийсь розумним способом?

    Якщо ви можете використати зображення, ви можете це зробити. І без зображення ви не зможете змінити колір лише кулі, а не текст.

    Використання зображення

    Li (list-style-image: url(images/yourimage.jpg); )

    Без використання зображення

    Потім вам потрібно відредагувати розмітку HTMLі включити проліт всередині списку і пофарбувати і діапазон з різними кольорами.

    Мені теж дуже сподобалася відповідь Марка - мені потрібен набір різних кольорових UL, і, очевидно, було б простіше використовувати клас. Ось що я використав для апельсина, наприклад:

    Ul.orange ( list-style: none; padding: 0px; ) ul.orange > li:before ( content: "\25CF "; font-size: 15px; color: #F00; margin-right: 10px; padding: 0px line-height: 15px;

    Крім того, я виявив, що шістнадцятковий код, який я використав для «content:», був іншим, ніж у Marc's (це шестигранне коло здавалося надто високим). Той, який я використав, здається, сидить зовсім посередині. Я також знайшов кілька інших постатей (квадрати, трикутники, кола тощо. буд.)

    Ми можемо комбінувати list-style-image із svg s, який ми можемо вбудувати в css! Цей метод пропонує неймовірний контроль над «кулями», які можуть стати чим завгодно.

    Щоб отримати червоне коло, просто використовуйте наступний css:

    "); }

    Але це лише початок. Це дозволяє нам робити будь-яку божевільну річ, яку ми хочемо з цими кулями. кола або прямокутники легко, але все, що ви можете намалювати за допомогою svg, можете зайти туди! Перегляньте приклад яблучного яблука нижче:

    ul ( list-style-image: url("data:image/svg+xml, "); ) ul ul ( list-style-image: url("data:image/svg+xml, "); ) ul ul ul ( list-style-image: url("data:image/svg+xml, "); ) ul ul ul ul ( list-style-image: url("data:image/svg+xml, "); ) ul.bulls-eye ( list-style-image: url("data:image/svg+xml, "); ) ul.multi-color ( list-style-image: url("data:image/svg+xml, "); }

    • Big circles!
      • Big rectangles!
      • b
        • Невеликі circles!
        • c
          • Невеликі rectangles!
    • Bulls
    • eyes.
    • Multi
    • color

    Ширина/висота атрибутів

    Для деяких браузерів потрібні атрибути width і height які мають бути встановлені на , або вони нічого не відображають. На момент написання цієї статті останні версії Firefox показує цю проблему. Я встановив обидва атрибути в прикладах.

    Кодування

    Побудова обох рішень @Marc та @jessica - це рішення, яке я використовую:

    Li ( position:relative; ) li:before ( content:""; display: block; position: absolute; width: 6px; height:6px; border-radius:6px; left: -20px; top: .5em; background- color: #000;

    Я використовую em для розмірів шрифту, тому якщо ви встановили top значення в.5em воно завжди буде поміщено в середину вашого першого рядка тексту. Я використав left:-20px тому що це є позиція left:-20px за замовчуванням у браузерах: parent padding/2

    Я знаю, що це дійсно, дійсно, старе питання, але я грав із цим і придумав спосіб, якого я не бачив. Дайте списку колір, а потім перезапишіть колір тексту за допомогою::first-line селектора::first-line . Я не експерт, тому, можливо, щось не таке з цим підходом, що мені не вистачає, але, схоже, він працює.

    li ( color: blue; ) li::first-line ( color: black; )

    • House
    • Garden

    Завдання

    Змінити вигляд маркерів у списку та замінити їх на інший символ.

    Рішення

    З допомогою HTMLабо CSS допускається встановлювати один із трьох типів маркерів: disc (точка), circle (кружок), square (квадрат). Додавати ці значення потрібно до стильової властивості list-style-type, яка вказується для селектора UL або LI (приклад 1).

    Приклад 1. Стандартні маркери

    HTML5 CSS 2.1 IE Cr Op Sa Fx

    Квадратні маркери

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

    У даному прикладіяк маркерів використовується квадрат (рис. 1).

    Мал. 1. Вид маркерів

    Вибір і встановлення власного символу маркера відбувається дуже своєрідно через псевдоелемент :before . Спочатку слід взагалі прибрати маркери у списку, надавши значення none стильової властивості list-style-type, а потім додати псевдоелемент: before до селектора LI. Сам висновок символу здійснюється за допомогою властивості content, як значення якого і виступає бажаний текст або символ (приклад 2).

    Приклад 2. Використання: before та content

    HTML5 CSS 2.1 IE Cr Op Sa Fx

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

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

    У цьому прикладі маркер, встановлений за умовчанням, ховається, а натомість додається символ (рис. 2).

    Мал. 2. Маркери як символу

    Щоб встановити як маркер якийсь хитрий символ, можна скористатися програмою Microsoft Word або таблиця символів, це стандартна програмащо входить у комплект Windows. Кодування коду має бути обов'язково UTF-8.