Есть ли простой способ изменить цвет пули в списке?
все, что я хочу, это иметь возможность изменить цвет пули в списке на светло-серый. По умолчанию он черный, и я не могу понять, как его изменить.
Я знаю, что я мог бы просто использовать изображение; я бы предпочел не делать этого, если я могу помочь ему.
16 ответов:
пуля получает свой цвет от текста. Поэтому, если вы хотите иметь маркер другого цвета, чем текст в вашем списке, вам придется добавить некоторую разметку.
оберните текст списка в промежуток:
<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 */ }
мне удалось это без добавления разметки, но вместо этого с помощью 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:'22'; /* For a square bullet */ /*content:'A0';*/ 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 */ }
отметим, что по состоянию на июль 2016, это решение является только частью рабочего проекта W3C и пока не работает ни в каких крупных браузерах.
Если вы хотите эту функцию, сделайте это:
- Блинк (Хром, Опера, Вивальди, Яндекс и др.): проблема star Chromium
- Гекко (Firefox, Iceweasel и др.): Нажмите кнопку "(голосовать) " на этой ошибке
Тризуб (т. е. веб-представления Windows): нажмите "я тоже могу" в разделе " X пользователь(Ы) может воспроизвести эту ошибку"
развитие трезубца перестал- EdgeHTML (MS Edge, Windows web views, Windows Modern apps): Нажмите кнопку "Голосовать" на этом prpopsal
- Webkit (Safari, Steam, WebOS и др.): CC себя к этой ошибке
<ul> <li style="color: #888;"><span style="color: #000">test</span></li> </ul>
большая проблема с этим методом является дополнительной разметки. (тег span)
привет, может быть, этот ответ запоздал, но является правильным для достижения этой цели.
Ok дело в том, что вы должны указать внутренний тег, чтобы текст списка был на обычном черном (или что бы вы ни хотели получить). Но также верно, что вы можете переопределить любые теги и внутренние теги с помощью CSS. Поэтому лучший способ сделать это использовать более короткий тег для переопределения
Usign это определение 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'); }
оберните текст внутри элемента списка с помощью диапазона (или какого-либо другого элемента) и примените цвет маркера к элементу списка и цвет текста к диапазону.
по состоянию на W3C spec,
свойства списка ... не позволяют авторам определять стиль (цвета, шрифты, выравнивание и т. д.) для маркера списка ...
но идея с промежутком внутри списка выше должна работать нормально!
вы можете использовать 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
), вы можете сделать некоторые довольно прохладно и настраиваемые списки.я расширил выдержку из шрифт удивительным список примеров страница ниже:
использовать
fa-ul
иfa-li
чтобы легко заменить пули по умолчанию в неупорядоченных списках.<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>
Шрифт Удивительным (в основном) поддерживает IE8, и поддерживает только IE7, если вы используете старая версия 3.2.1.
это работает также, если мы устанавливаем цвет для каждого элемента, например: Теперь я добавил немного поля влево.
<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.