Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

CSS CSS Basics (2014) Basic Selectors Descendant Selectors

Chris Drew
Chris Drew
5,919 Points

Why did "color: white;" not change color of the <li> items to white?

ul li { color: white; }

Benjamin Hastings
Benjamin Hastings
2,565 Points

Can you confirm youre using a ul (unordered list) in your HTML? Try to remove the 'ul' CSS Selector, that may solve your problem.

Alec Meyer
Alec Meyer
6,303 Points

There could be a few things, but what Benjamin suggested is the first to try. Make sure the li's are in a ul.

<ul>
      <li>I am in a ul</li>
      <li>me too!</li>
</ul>
Chris Drew
Chris Drew
5,919 Points

I discovered the outcome of the code "color: white;" changed the color of the bullet points ONLY.

To change the font, the code would be "font-color: white;" correct?

Alec Meyer
Alec Meyer
6,303 Points

Chris, I am afraid that is not normal. Copy the html below and save as test-color.html and then open with Google Chrome or Firefox.

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        body {
            background: black;
        }
        ul li {
            color: white;
        }
    </style>
</head>
<body>
    <ul>
        <li>I am white</li>
        <li>Same here</li>
    </ul>
</body>
</html>
Chris Drew
Chris Drew
5,919 Points

'''html

body { color: #878787; margin: 0; }

.main-header { background-color: orange; }

ul li { background-color: tomato; color: white; }

h1 {
font-size: 90px; color: white; }

h2 { font-size: 53px; }

h3 { font-size: 20px; color: #48525c; }

.primary-content { text-align: center; }

.t-border { border-top: 2px solid lightgrey; }

main-footer {

padding-top: 60px; padding-bottom: 60px; border-bottom: solid 10px orange; }

'''

Chris Drew
Chris Drew
5,919 Points

''' html

<!DOCTYPE html> <html> <head> <title>Lake Tahoe</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <header id="top" class="main-header"> <span>Journey through the Sierra Nevada Mountains</span> <h1>Lake Tahoe, California</h1> </header> <div class="primary-content t-border"> <p> Lake Tahoe is one of the most breathtaking attractions located in California. It's home to a number of ski resorts, summer outdoor recreation, and tourist attractions. Snow and skiing are a significant part of the area's reputation. </p> <a href="#">Find out more</a> <h2>Check out all the Wildlife</h2> <p> As spawning season approaches, the fish acquire a humpback and protuberant jaw. After spawning, they die and their carcasses provide a feast for gatherings of <a href="#mink">mink</a>, <a href="#bears">bears</a>, and <a href="#eagles">Bald eagles</a>. </p> <a href="#">See the Wildlife</a> </div>

    <div class="secondary-content t-border"> 
  <h3>From Tents to Resorts</h3>
  <p>
    Lake Tahoe is full of wonderful places to stay. You have the ability to sleep in the outdoors in a tent, or relax like a king at a five star resort. Here are our top three resorts:
  </p>
  <ul>
    <li><a href="#">Lake Tahoe Resort Hotel</a></li>
    <li><a href="#">South Lake Tahoe Resorts</a></li>
    <li><a href="#">Tahoe Ski Resort Lodging</a></li>
  </ul>         
  <h3>Pack Accordingly</h3>
  <p>
    One of most important things when it comes to traveling through the great outdoors is packing accordingly. Here are a few tips:
  </p>
  <ol>
    <li>Bring layers of clothing</li>
    <li>Pack sunscreen</li>
    <li>Carry extra water just in case</li>
    <li>Pack light</li>
  </ol>
    </div>

    <footer id="main-footer" class="t-border">
        <p>All rights reserved to the state of <a href="#">California</a>.</p>
        <a href="#top">Back to top &raquo;</a>
    </footer>

</body> </html>

'''

i think its because its a link and links are always blue and underlined

Steven Parker
Steven Parker
230,274 Points

Matthew, you can override that default coloring, as I described in my answer.

2 Answers

Steven Parker
Steven Parker
230,274 Points

The "color" property should change the color of the text. It sounds like there might be some other CSS involved that could be overriding this setting, or perhaps the text is not directly in the list items.

To facilitate a thorough analysis, please show the whole code (HTML and CSS), or make a snapshot of your workspace and post the link to it here.

Update: Now that you've posted the code, I see that the text in question is nested inside anchor elements (links). Since these don't inherit the color from their parent elements, you'll need to set the color directly on the "a" elements.

And since lists can only contain list elements, you can simplify the selector a bit:

ul a { color: white; }
Alec Meyer
Alec Meyer
6,303 Points

You have:

 <ul>
            <li>
                <a href="#">Lake Tahoe Resort Hotel</a>
            </li>
            <li>
                <a href="#">South Lake Tahoe Resorts</a>
            </li>
            <li>
                <a href="#">Tahoe Ski Resort Lodging</a>
            </li>
        </ul>

which is a

 ul li a { color: white } 

This is because you need to chance the color of the a tag's text. In this example, the <a> tag belongs to the li not the text of the <a> tag. By default <a> tags have underlined blue text.

Chris Drew
Chris Drew
5,919 Points

That makes sense.

Thank you!