Learn Basic CSS by Building a Cafe Menu - Step 40

Tell us what’s happening:
I’m curious about the p element, is there any reasons why we have to write the p element on the same line, even though we already change the display into inline using css? and also does it make any difference if i just write the next p element on the next line? Thank you!

Your code so far

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
  <head>
    <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"/>
  </head>
  <body>
    <div class="menu">
      <main>
        <h1>CAMPER CAFE</h1>
        <p>Est. 2020</p>
        <section>
          <h2>Coffee</h2>
          <article class="item">

<!-- User Editable Region -->

            <p class="flavor">French Vanilla</p><p class="price">3.00</p>

<!-- User Editable Region -->

          </article>
          <article>
            <p>Caramel Macchiato</p>
            <p>3.75</p>
          </article>
          <article>
            <p>Pumpkin Spice</p>
            <p>3.50</p>
          </article>
          <article>
            <p>Hazelnut</p>
            <p>4.00</p>
          </article>
          <article>
            <p>Mocha</p>
            <p>4.50</p>
          </article>
        </section>
      </main>
    </div>
  </body>
</html>
/* file: styles.css */
body {
  background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg);
}

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

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

.item p {
  display: inline-block;
}

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

.price {
  text-align: right;
  width: 49%;
}

Your browser information:

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

Challenge: Learn Basic CSS by Building a Cafe Menu - Step 40

Link to the challenge:

Yeah, they have to be on the same line. I can’t give you a great explanation as to why, but it has to do with the fact that it’s inline-block and not just inline. I believe if it were just inline then it wouldn’t matter if they were on the same line or separate lines.

1 Like

Good question!
I also came up with that.
However, it affects the width if we put it on separate lines.

1 Like

Thank you aburke1234 and isuru.dex for the answer. After looking up on the internet, just found out that there’s a difference between inline and inline box. Turns out inline (all the element have 1 width and height and cannot be changed) while inline-box (similar with inline but we can customize the size) that’s why the placement of the p element is matters (still not sure, with this one).

2 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.