Learn Typography by Building a Nutrition Label - Step 48

Hi I am having trouble with:

.daily-value {p
border-bottom: 1px solid #888989;
p:not(.no-divider)}

in the css file. I can’t see what I am doing wrong. The hint says:

Hint

You should have a .daily-value p:not(.no-divider) selector.

Any help gratefully appreciated.

  **Your code so far**
/* file: index.html */
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Nutrition Label</title>
  <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800" rel="stylesheet">
  <link href="./styles.css" rel="stylesheet">
</head>
<body>
  <div class="label">
    <header>
      <h1 class="bold">Nutrition Facts</h1>
      <div class="divider"></div>
      <p>8 servings per container</p>
      <p class="bold">Serving size <span class="right">2/3 cup (55g)</span></p>
    </header>
    <div class="divider lg"></div>
    <div class="calories-info">
      <p class="bold sm-text">Amount per serving</p>
      <h1>Calories <span class="right">230</span></h1>
    </div>
    <div class="divider md"></div>
    <div class="daily-value sm-text">
      <p class="right bold no-divider">% Daily Value *</p>
      <div class="divider"></div>
      <p><span class="bold">Total Fat</span> 8g<span class="bold right">10%</span></p>
      <p class="indent no-divider">Saturated Fat 1g <span class="bold right">5%</span></p>
    </div>
  </div>
</body>
</html>
/* file: styles.css */
* {
box-sizing: border-box;
}

html {
font-size: 16px;
}

body {
font-family: 'Open Sans', sans-serif;
}

.label {
border: 2px solid black;
width: 270px;
margin: 20px auto;
padding: 0 7px;
}

header h1 {
text-align: center;
margin: -4px 0;
letter-spacing: 0.15px
}

p {
margin: 0;
}

.divider {
border-bottom: 1px solid #888989;
margin: 2px 0;
clear: right;
}

.bold {
font-weight: 800;
}

.right {
float: right;
}

.lg {
height: 10px;
}

.lg, .md {
background-color: black;
border: 0;
}

.md {
height: 5px;
}

.sm-text {
font-size: 0.85rem;
}

.calories-info h1 {
margin: -5px -2px;
overflow: hidden;
}

.calories-info span {
font-size: 1.2em;
margin-top: -7px;
}

.indent {
margin-left: 1em;
}

.daily-value {p 
border-bottom: 1px solid #888989;
p:not(.no-divider)}


  **Your browser information:**

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:104.0) Gecko/20100101 Firefox/104.0

Challenge: Learn Typography by Building a Nutrition Label - Step 48

Link to the challenge:

Hi,

Should there be a ‘p’ at the end of the first line?

Edit: the last line also looks very scary!

What do we know so far about how to write CSS correctly? Do you see how it looks very different in color than the previous line? That’s because it doesn’t belong inside the .daily-value selector.

elementSelector {
  propertyName: values;
}

We cannot put another selector inside of a selector (no nesting of selectors).
So should p:not be nested inside of .daily-value? (they are both selectors)

.daily-value p {
border-bottom: 1px solid #888989;
}
.daily-value p:not(.no-divider) {
border-bottom: 0;

I’ve just tried this but it is still not working.
}

.daily-value p {
border-bottom: 1px solid #888989;
}
.daily-value p:not(.no-divider) {
border-bottom: 0;
}

they are not expecting you to add any new selectors

just to modify the original one.

Hint: use the p:not(.no-divider) without making other modifications

Thanks - that’s cracked it.

1 Like