Font size of inline element creates gaps in HTML

Viewed 30

Notice the vertical gaps caused by a small font size. There's no padding or margin yet there's a gap and this is incredibly annoying. I'd like to remove all vertical gaps and I want to keep wrap line functionality, and the child elements should retain their original height.

.container {
  border: 1px solid black;
}

.sub-container {
  border: 1px solid black;
  display: inline-flex;
  flex-direction: column;
}

.big-child {
  display: inline-block;
  font-size: 2em;
  border: 1px solid black;
}

.small-child {
  display: inline-block;
  font-size: 0.5em;
  border: 1px solid black;
}
<div class="container">
  <div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div><div class="sub-container">
    <div class="small-child">definition</div>
    <div class="big-child">Word</div>
  </div>
</div>

1 Answers

Try This

.container {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid black;
}
Related