Все, что я хочу, - это иметь возможность изменить цвет маркера в списке на светло-серый. По умолчанию он черный, и я не могу понять, как его изменить.
Я знаю, что могу просто использовать изображение; Я бы предпочел не делать этого, если смогу.
html
css
html-lists
Дэйв Хейнс
источник
источник
Ответы:
Цвет маркера определяется текстом. Поэтому, если вы хотите, чтобы в вашем списке была маркировка, отличная от текста, вам придется добавить разметку.
Оберните текст списка в диапазон:
<ul> <li><span>item #1</span></li> <li><span>item #2</span></li> <li><span>item #3</span></li> </ul>
Затем немного измените правила стиля:
li { color: red; /* bullet color */ } li span { color: black; /* text color */ }
источник
:before
как в ответе Марка ниже.b
тег будет более подходящим.Я справился с этим без добавления разметки, а вместо этого использовал li: before. Это, очевидно, имеет все ограничения
:before
(без поддержки старого IE), но, похоже, работает с IE8, Firefox и Chrome после очень ограниченного тестирования. Он работает в нашей среде контроллера, интересно, может ли кто-нибудь это проверить. Стиль маркера также ограничен юникодом.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <style type="text/css"> li { list-style: none; } li:before { /* For a round bullet */ content:'\2022'; /* For a square bullet */ /*content:'\25A0';*/ display: block; position: relative; max-width: 0px; max-height: 0px; left: -10px; top: -0px; color: green; font-size: 20px; } </style> </head> <body> <ul> <li>foo</li> <li>bar</li> </ul> </body> </html>
источник
Это было невозможно в 2008 году, но скоро это станет возможным (надеюсь)!
Согласно спецификации W3C CSS3 , вы можете полностью контролировать любое число, глиф или другой символ, сгенерированный до элемента списка с
::marker
псевдоэлементом. Чтобы применить это к решению, получившему наибольшее количество голосов:<ul> <li>item #1</li> <li>item #2</li> <li>item #3</li> </ul> li::marker { color: red; /* bullet color */ } li { color: black /* text color */ }
Пример JSFiddle
Однако обратите внимание, что по состоянию на июль 2016 года это решение является только частью рабочего проекта W3C и пока не работает ни в каких основных браузерах.
Если вам нужна эта функция, сделайте следующее:
Trident (IE, веб-представления Windows): нажмите «Я тоже могу» в разделе «Пользователи X могут воспроизвести эту ошибку»Разработка Trident прекращена.
источник
<ul> <li style="color: #888;"><span style="color: #000">test</span></li> </ul>
Большая проблема этого метода - дополнительная разметка. (тег span)
источник
b
тег будет более подходящим.Здравствуйте, может быть, этот ответ запоздал, но он правильный для этого.
Хорошо, дело в том, что вы должны указать внутренний тег, чтобы текст LIst был обычным черным (или любым другим способом, который вы хотите получить). Но также верно и то, что вы можете ПОВТОРИТЬ любые ТЕГИ и внутренние теги с помощью CSS. Так что лучший способ сделать это - использовать для переопределения тэг SHORTER.
Используйте это определение CSS:
li { color: red; } li b { color: black; font_weight: normal; } .c1 { color: red; } .c2 { color: blue; } .c3 { color: green; }
И этот html-код:
<ul> <li><b>Text 1</b></li> <li><b>Text 2</b></li> <li><b>Text 3</b></li> </ul>
Вы получите требуемый результат. Также вы можете сделать каждый диск разного цвета:
<ul> <li class="c1"><b>Text 1</b></li> <li class="c2"><b>Text 2</b></li> <li class="c3"><b>Text 3</b></li> </ul>
источник
Просто сделайте пулю в графической программе и используйте
list-style-image
:ul { list-style-image:url('gray-bullet.gif'); }
источник
list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ccircle cx='256' cy='256' r='256' fill='#ff0000' /%3E%3C/svg%3E");
Оберните текст в элементе списка диапазоном (или каким-либо другим элементом) и примените цвет маркера к элементу списка, а цвет текста - к диапазону.
источник
Согласно спецификации W3C ,
Но идея с диапазоном внутри списка выше должна работать нормально!
источник
<ul> <li style="color:#ddd;"><span style="color:#000;">List Item</span></li> </ul>
источник
Вы можете использовать JQuery, если у вас много страниц и вам не нужно редактировать разметку самостоятельно.
вот простой пример:
$("li").each(function(){ var content = $(this).html(); var myDiv = $("<div />") myDiv.css("color", "red"); //color of text. myDiv.html(content); $(this).html(myDiv).css("color", "yellow"); //color of bullet });
источник
Что касается вопроса 2008 года, я подумал, что могу добавить более свежий и актуальный ответ о том, как можно изменить цвет маркеров в списке.
Если вы хотите использовать внешние библиотеки, Font Awesome предоставляет масштабируемые векторные иконки , а в сочетании с вспомогательными классами Bootstrap (например
text-success
) вы можете создавать довольно крутые и настраиваемые списки.Я расширил отрывок со страницы примеров списка Font Awesome ниже:
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" /> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> <ul class="fa-ul"> <li><i class="fa-li fa fa-circle"></i>List icons</li> <li><i class="fa-li fa fa-check-square text-success"></i>can be used</li> <li><i class="fa-li fa fa-spinner fa-spin text-primary"></i>as bullets</li> <li><i class="fa-li fa fa-square text-danger"></i>in lists</li> </ul>
Font Awesome (в основном) поддерживает IE8 и только IE7, если вы используете старую версию 3.2.1 .
источник
Это также работает, если мы установим цвет для каждого элемента, например: я добавил немного Margin слева.
<article class="event-item"> <p>Black text here</p> </article> .event-item{ list-style-type: disc; display: list-item; color: #ff6f9a; margin-left: 25px; } .event-item p { margin: 0; color: initial; }
источник
Для этого вы можете использовать CSS. Указав в списке цвет и стиль по вашему выбору, вы также можете указать текст другого цвета.
Следуйте примеру на http://www.echoecho.com/csslists.htm .
источник
<ul style="color: red;"> <li>One</li> <li>Two</li> <li>Three</li> </ul>
источник
Просто используйте CSS:
<li style='color:#e0e0e0'>something</li>
источник
Вы захотите установить «стиль списка» через CSS и присвоить ему значение color: value. Пример:
ul.colored {list-style: color: green;}
источник