通过编写咖啡店菜单学习基础 CSS - 步骤 39

告诉我们发生了什么:
在此详细描述你的问题。

你目前的代码
inline-block为什么使两个50%的无法加起来为100%,但小一点的两个49%却能正常使用?期待(^o^)各位大佬们的答复

<!-- 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">
            <p class="flavor">French Vanilla</p>
            <p class="price">3.00</p>
          </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;
}


/* User Editable Region */

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

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

/* User Editable Region */

你的浏览器信息:

用户代理是: Mozilla/5.0 (Linux; Android 13; REP-AN00; HMSCore 6.11.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 HuaweiBrowser/13.0.4.302 Mobile Safari/537.36

挑战: 通过编写咖啡店菜单学习基础 CSS - 步骤 39

挑战的链接:

我没有遇到过这个问题,搜了一下,是一个比较细致的知识点。

因为当元素作为行内元素排版时,元素之间的空格、换行都会被浏览器处理,被当作一个空白符,在字体不为 0 的情况下,空白符占据一定宽度,所以行内元素之间就出现了空隙。而这些空隙还会随着元素字体的大小而变化。

后续题目中给了一个解决办法是删除两个 p 元素之间的空格,写在同一行。还有一些办法,例如,将 margin- left 设置为负值。