Learn Basic CSS by Building a Cafe Menu - Step 39

Tell us what’s happening:

!!! I intentionally set 12% at the .price section of css, so that I can create a topic.

I couldn’t understand this in general, like what .item p is, why do we give 49% to the width section of .flavor and .price. I would die to know why.

I already asked the experts of web development I knew, but they failed to explain it. Either that or I am too dumb to understand this.

So please, if anyone could understand what I couldn’t understand, respond.

Your code so far

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Cafe Menu</title>
    <link href="styles.css" rel="stylesheet"/>
    <div class="menu">
        <h1>CAMPER CAFE</h1>
        <p>Est. 2020</p>
          <article class="item">
            <p class="flavor">French Vanilla</p>
            <p class="price">3.00</p>
            <p>Caramel Macchiato</p>
            <p>Pumpkin Spice</p>
/* file: styles.css */
body {
  background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg);

h1, h2, p {
  text-align: center;

.menu {
  width: 100%;
  background-color: burlywood;
  margin-left: auto;
  margin-right: auto;

.item p {
  display: inline-block;

/* User Editable Region */

.flavor {
  text-align: left;
  width: 49%;

.price {
  text-align: right;
  width: 12%;

/* 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/ Safari/537.36 OPR/

Challenge Information:

Learn Basic CSS by Building a Cafe Menu - Step 39

Its actually quite simple.
Inline-block elements count all white spaces between the words as space so instead of having two elements on the same line with a 50% width there both gonna be a little over 50% counting the extra space.
To fix this you give each element a width of 49% and so together they don’t add up two more then a 100% and the second element does not get pushed to the next line.