Мне нужно использовать, например, звездочку (★) в качестве маркера для элемента списка.
Я прочитал модуль CSS3: Списки , в котором описывается, как использовать произвольный текст в качестве маркеров, но у меня он не работает. Думаю, браузеры просто не поддерживают ::marker
псевдоэлемент.
Как я могу это сделать, не используя изображения?
html
css
html-lists
AntonAL
источник
источник
Ответы:
РЕДАКТИРОВАТЬ
Я бы, наверное, больше не рекомендовал использовать изображения. Я бы придерживался подхода с использованием символа Unicode, например:
СТАРЫЙ ОТВЕТ
Я бы, вероятно, выбрал фоновое изображение, они намного
эффективнее,универсальны и удобны для разных браузеров.Вот пример:
источник
<li>
текст переносится: маркер не остается без отступа и в конечном итоге выглядит как начало абзаца текста. Этот ответ устраняет эту проблему: stackoverflow.com/a/14301918/1450294Использование текста как маркеров
Используйте
li:before
с экранированным объектом Hex HTML (или любым простым текстом).пример
В моем примере будут создаваться списки с галочками в виде маркеров.
CSS :
Совместимость с браузером
Сам не тестировал, но он должен поддерживаться в IE8. По крайней мере, так говорят quirksmode и css-tricks .
Вы можете использовать условные комментарии для применения старых / медленных решений, таких как изображения или скрипты. А еще лучше использовать оба с
<noscript>
для изображений.HTML :
О фоновых изображениях
С фоновыми изображениями действительно легко работать, но ...
background-size
только IE9.list-style
(более логичный выбор).Наслаждаться.
источник
li
элемента переносится на несколько строк; эти обернутые строки не будут иметь правильный отступ.float: left; margin-left: -12px;
на: прежде чем позаботиться об этом, @RichardEverettВы можете построить его:
источник
'\21B3'
! Спасибо! Это сработало лучше, чем другие ответы здесь. Также изменилpadding-left
в моем дизайне на1em
, который хорошо адаптируется при изменении размера уровней вашего дерева.обновление: в комментариях Горге говорит: «Это работает в Chrome, Firefox и Edge, но не в Safari».
Это решение W3C. Можете использовать 3012!
https://drafts.csswg.org/css-lists/#text-markers
источник
li:before
раствор.Изображения не рекомендуются, так как они могут выглядеть пиксельными на некоторых устройствах (устройства Apple с дисплеем Retina) или при увеличении. С персонажем ваш список всегда выглядит потрясающе.
Вот лучшее решение, которое я нашел на данный момент. Он отлично работает и кроссбраузерно (IE 8+).
Важно, чтобы символ находился в плавающем блоке с фиксированной шириной, чтобы текст оставался выровненным, если он слишком длинный для размещения в одной строке. 1.2em - это ширина, которую вы хотите для своего персонажа, измените ее по своему усмотрению . Не забудьте сбросить отступы и поля для элементов ul и li.
РЕДАКТИРОВАТЬ: имейте в виду, что размер «1.2em» может отличаться, если вы используете другой шрифт в ul и li: before. Безопаснее использовать пиксели.
источник
Чтобы добавить звездочку, используйте символ Юникода
22C6
.Я добавил пространство, чтобы сделать небольшой промежуток между значками
li
и звездой. Код для пробелаA0
.источник
Более полный пример ответа 222 :
Я включил свойства star-hack для восстановления стилей списков по умолчанию в более старых версиях IE. Вы можете вытащить их и включить в условное включение, если хотите, или заменить решением на основе фонового изображения. Мое скромное мнение состоит в том, что специальные стили маркеров, реализованные таким образом, должны постепенно ухудшаться в тех немногих браузерах, которые не поддерживают псевдоселекторы.
Протестировано в Firefox, Chrome, Safari и IE8-10, во всех случаях отображается правильно.
источник
text-indent: -1em;
- важное свойство, если у вас есть элементы многострочного списка. Без него вторая и последующие строки совпадают с маркером, а не с предыдущей строкой.источник
Я просмотрел весь этот список, и на 2020 год есть частично правильные и частично неправильные элементы.
Я обнаружил, что отступ и смещение были самой большой проблемой при использовании UTF-8, поэтому я публикую это как совместимое с 2020 годом решение CSS, используя в качестве примера маркер «вертикальный треугольник».
использовать
em
в качестве единицы измерения, чтобы избежать конфликта с размером шрифтаисточник
Попробуйте этот код ...
источник
Эта тема может быть старой, но вот быстрое исправление
ul {list-style:outside none square;}
илиul {list-style:outside none disc;}
и т. Д.затем добавьте левое дополнение к элементу списка
источник