Learn Typography by Building a Nutrition Label - Step 41

Tell us what’s happening:

Hi all,

New to the forum and complete beginner in web dev.
Started because im a investor/trader in crypto and was looking at other ways to make money in the digital world and becoming a web3 dev would be one of them… Trust me I know it would be a long way before I get there, but have time and no rush.

Now my question here is the get the daily value to the right why dont you just use

justify-content: right;

why does it need to be flex-end;

they both do the same thing, no ?

thanks…

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>
    <div class="daily-value small-text">
      <p class="bold right">% 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;
  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;
}


/* User Editable Region */

.right

/* User Editable Region */

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36

Challenge Information:

Learn Typography by Building a Nutrition Label - Step 41

it’s a thing that when coding you can get the same result in multiple ways, you can’t use all of them at the same time, so you use only one of them

i’m a beginner so this all new to me.
So to be correct…

justify-content: right;

is the same as

justify: flex-end;

either one you use it will have the same outcome and wont mess up the code ?

Hi there!
No. justify-content: right is not a valid css property value. The correct css property value is justify-content: flex-end it will align items in the flex container to the right.

according to MDN web docs justify-content: right; is a valid property value.

/* Positional alignment */
justify-content: center;
justify-content: start;
justify-content: end;
justify-content: flex-start;
justify-content: flex-end;
justify-content: left;
justify-content: right;

Still dont understand why make 2 values that do the same thing?
Like I said before im completely new at this so just trying to wrap my head around it.

the end result is the same, but the concept used is different
flex-end is based on flex direction, right is just right