制作Nutrition Facts熟悉CSS

Written by CC -- 2024-12-20

The word astro against an illustration of planets and stars.

css

typo

1.搭建HTML骨架

  <!DOCTYPE html>
  <html lang="en">

  <head>
    <meta charset="UTF-8">
    <title>Nutrition Label</title>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
    <link rel="stylesheet" href="styles.css">
  </head>

  <body>
    <div class="label">
      <header>
        <h1 class="bold">Nutrition Facts</h1>
        <div class="divider"></div>
        <p class="bold">8 servings per container</p>
        <p>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</sapn>
      </div>
      <div class="divider medium"></div>
      <div class="daily-value small-text">
        <p class="bold right no-divider">% Daily Value *</p>
        <div class="divider"></div>
        <p><span><span class="bold">Total Fat</span> 8g </span><span class="bold">10%</span></p>
        <p class="indent no-divider"><span><span class="bold">Saturated Fat</span> 1g</span> <span class="bold">5%</span></p>
        <div class="divider"></div>
        <p class="indent no-divider"><span><i>Trans</i> Fat 0g </span></p>
        <div class="divider"></div>
        <p class="indent no-divider"><span><span class="bold">Cholesterol</span> 0mg </span><span class="bold">0%</span ></p>
        <p><span><span class="bold">Sodium</span> 160mg</span> <span class="bold">7%</span></p>
        <p><span><span class="bold">Total Carbohydrate</span> 37g</span> <span class="bold">13%</span></p>
        <p class="indent no-divider"><span>Dietary Fiber 4g</span></p>
        <p class="indent no-divider">Total Sugars 12g</p>
        <div class="divider double-indent"></div>
        <p class="double-indent no-divider">Includes 10g Added Sugars <span class="bold">20%</span></p>
        <div class="divider double-indent"></div>
        <p class="no-divider"><span><span class="bold">Protein</span> 3g</span></p>
        <div class="divider large"></div>
        <p>Vitamin D 2mcg <span>10%</span></p>
        <p>Calcium 260mg <span>20%</span></p>
        <p>Iron 8mg <span>45%</span></p>
        <p class="no-divider">Potassium 235mg <span>6%</span></p><>
      </div>
      <div class="divider medium"></div>
      <p class="note">* The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.</p>
    </div>
  </body>
  </html>

2.CSS布局及样式控制

  body {
    font-family: "Open Sans", sans-serif;
  }
  html {
    font-size: 16px;
  }
  .label {
    border: 2px solid black;
    width: 270px;
    margin: 20px auto;
    padding: 0 7px;
  }
  * {
    box-size: border-box;
  }
  header h1 {
    text-align: center;
    margin: -4px 0;
    letter-spacing: 0.15px;
  }
  p {
    margin: 0 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;
  }
  .small-text {
    font-size: 0.85rem;
  }
  .calories-info h2 {
    margin: 0;
  }
  .calories-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .left-container p {
    margin: -5px -2px;
    font-size: 2em;
    font-weight: 700;
    margin: -7px -2px;
  }
  .calories-info span {
    font-size: 2.4em;
    font-weight: 700;
  }
  .medium {
    height: 5px;
  }
  .right {
    display: flex;
    justify-content: flex-end;
  }
  .indent {
    margin-left: 1em;
  }
  .daily-value pnot(.no-divider) {
    border-bottom: 1px solid #888989;
  }
  .double-indent {
    margin-left: 2em;
  }
  .note {
    font-size: 0.6rem;
    margin: 5px 0;
    padding: 0 8px;
    text-indent: -8px;
  }

学以致用,前端技术也能提高生活常识