Learn Typography by Building a Nutrition Label - Step 40

Tell us what’s happening:
Why does the float styling cause the

element to jump outside of the border? I understand how to proceed to the next step, but I’m just wondering what actually causes the text to go outside of the border.

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">% Daily Value *</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;
}

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

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0

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

Link to the challenge:

When in doubt, check the documentation. Seriously. Seriously. I can’t overstress how much time devs spend googling things. Google “MDN float” and read there. Check back if you don’t understand something.

from what i now understand after some research: styling an element as a float will remove it from the normal layout of its parent container. thats why clearing the float in the .divider below the float allowed the text to be displayed back inside the borders. still kinda fuzzy, but thanks for you help!

1 Like

Yeah, things remain “kinda fuzzy” for a while. CSS is very powerful but can also be confusing at times. Just keep at it.

1 Like