Learn Typography by Building a Nutrition Label - Step 43

it states as a hint: Your p element should have three span elements. but how?
I am struggling with: “Also wrap the words Total Fat 8g in an additional span element for alignment.” how is this possible? the rest of the code seems fine to me but I can’t work out how to wrap an additional span!! please help!
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>2/3 cup (55g)</span></p>
    </header>
    <div class="divider large"></div>
    <div class="calories-info">
      <div class="left-container">
        <h2 class="bold small-text">Amount per serving</h2>
        <p>Calories</p>
      </div>
      <span>230</span>
    </div>
    <div class="divider medium"></div>

<!-- User Editable Region -->

    <div class="daily-value small-text">
      <p class="bold right">% Daily Value *</p>
      <div class="divider"></div>
      <p><span class="bold">Total Fat</span> 8g <span class="bold">10%</span></p>
    </div>

<!-- User Editable Region -->

  </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;
  display: flex;
  justify-content: space-between;
}

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

.bold {
  font-weight: 800;
}

.large {
  height: 10px;
}

.large, .medium {
  background-color: black;
  border: 0;
}

.medium {
  height: 5px;
}

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

.calories-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.calories-info h2 {
  margin: 0;
}

.left-container p {
  margin: -5px -2px;
  font-size: 2em;
  font-weight: 700;
}

.calories-info span {
  margin: -7px -2px;
  font-size: 2.4em;
  font-weight: 700;
}

.right {
  justify-content: flex-end;
}

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15

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

Link to the challenge:

Your third span element can wrap around text and also around another span element.

<p><span class="bolder">This is an example of nesting an <span class="bold">element</span> within another element</span>, within an <span class="bold">element</span>.</p>
1 Like

I feel I have misunderstood your help, this is the code I have written it still asks me to wrap total fat. I am just writing to say thank you for the help but im off for a break before I pull my hair out. I will then re read your help and see if I have got it or not. again thank you!

      <p><span class="bold">Total <span class="bold">Fat</span></span><span>8g</span>
      <span class="bold">10%</span></p>

Probably not the most helpful answer I could have given. So you have your p element with your two span class bold elements. That bit is straightforward enough.

Now to wrap the final span around the words ‘Total Fat 8g’ all you need to do is recognise that that text ‘Total Fat’ now includes a span of its own (to make the text bold), so you need to wrap the final span around the text AND that span too. So put your opening span tag before the span class bold tag and the closing span tag immediately after ‘8g’. You’re enclosing a span within another span basically.

1 Like

I did it, THANKS TO YOU!