在 html 列表中更改项目符号的颜色?

我想要的只是能够将列表中子弹的颜色改为浅灰色。它默认为黑色,我不知道如何改变它。

我知道我可以只使用一个形象,我宁愿不这样做,如果我可以帮助它。

198002 次浏览
<ul>
<li style="color: #888;"><span style="color: #000">test</span></li>
</ul>

the big problem with this method is the extra markup. (the span tag)

Wrap the text within the list item with a span (or some other element) and apply the bullet color to the list item and the text color to the span.

You'll want to set a "list-style" via CSS, and give it a color: value. Example:

ul.colored {list-style: color: green;}

Just use CSS:

<li style='color:#e0e0e0'>something</li>

The bullet gets its color from the text. So if you want to have a different color bullet than text in your list you'll have to add some markup.

Wrap the list text in a span:

<ul>
<li><span>item #1</span></li>
<li><span>item #2</span></li>
<li><span>item #3</span></li>
</ul>

Then modify your style rules slightly:

li {
color: red; /* bullet color */
}
li span {
color: black; /* text color */
}

As per W3C spec,

The list properties ... do not allow authors to specify distinct style (colors, fonts, alignment, etc.) for the list marker ...

But the idea with a span inside the list above should work fine!

<ul style="color: red;">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
  • One
  • Two
  • Three
  • <ul>
    <li style="color:#ddd;"><span style="color:#000;">List Item</span></li>
    </ul>
    

    You could use CSS to attain this. By specifying the list in the color and style of your choice, you can then also specify the text as a different color.

    Follow the example at http://www.echoecho.com/csslists.htm.

    Hello maybe this answer is late but is the correct one to achieve this.

    Ok the fact is that you must specify an internal tag to make the LIst text be on the usual black (or what ever you want to get it). But is also true that you can REDEFINE any TAGS and internal tags with CSS. So the best way to do this use a SHORTER tag for the redefinition

    Usign this CSS definition:

    li { color: red; }
    li b { color: black; font_weight: normal; }
    .c1 { color: red; }
    .c2 { color: blue; }
    .c3 { color: green; }
    

    And this html code:

    <ul>
    <li><b>Text 1</b></li>
    <li><b>Text 2</b></li>
    <li><b>Text 3</b></li>
    </ul>
    

    You get required result. Also you can make each disc diferent color:

    <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>
    

    I managed this without adding markup, but instead using li:before. This obviously has all the limitations of :before (no old IE support), but it seems to work with IE8, Firefox and Chrome after some very limited testing. It's working in our controller environment, wondering if anyone could check this. The bullet style is also limited by what's in unicode.

    <!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>
    

    Just do a bullet in a graphics program and use list-style-image:

    ul {
    list-style-image:url('gray-bullet.gif');
    }
    

    You can use Jquery if you have lots of pages and don't need to go and edit the markup your self.

    here is a simple example:

    $("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
    });
    

    This was impossible in 2008, but it's becoming possible soon (hopefully)!

    According to The W3C CSS3 specification, you can have full control over any number, glyph, or other symbol generated before a list item with the ::marker pseudo-element. To apply this to the most voted answer's solution:

    <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 Example

    Note, though, that as of July 2016, this solution is only a part of the W3C Working Draft and does not work in any major browsers, yet.

    If you want this feature, do these:

    For a 2008 question, I thought I might add a more recent and up-to-date answer on how you could go about changing the colour of bullets in a list.

    If you are willing to use external libraries, Font Awesome gives you scalable vector icons, and when combined with Bootstrap's helper classes (eg. text-success), you can make some pretty cool and customisable lists.

    I have expanded on the extract from the Font Awesome list examples page below:

    Use fa-ul and fa-li to easily replace default bullets in unordered lists.

    <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 (mostly) supports IE8, and only supports IE7 if you use the older version 3.2.1.

    It works as well if we set color for each elements for example: I added some Margin to left now.

    <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;
    }