如何使文字与框的高度相同

问题描述 投票:0回答:1

我有 2 个 div 框,我希望文本与框的高度相同。

我尝试将字体大小和框高度设置为 2rem。显然,这不是我使文本和框具有相同高度的方式。

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

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>CSS Grid starting point</title>
  <style>
     :root {
      font-size: 1em;
    }
    
    .offer {
      font-size: 2rem;
      display: inline-block;
    }
    
    .box {
      width: 2rem;
      height: 2rem;
      background-color: #990000;
      display: inline-block;
    }
  </style>
</head>

<body>
  <header>
    <div class="offer">CARS FOR SALE</div>
    <div class="box"></div>
  </header>
</body>

</html>

html height font-size line-height
1个回答
0
投票

您可以将

::after
伪元素与
aspect-ratio
属性结合使用。

正如评论所指出的,文本增加了父级

div
的高度(这总是有点烦人),因此您可以调整
line-height
font-size
来解决这个问题。

.offer {
  position: relative;
  font-size: 2rem;
  line-height: 1.5rem;
}

.offer::after {
  content: "";
  height: 100%;
  aspect-ratio: 1 / 1;
  background-color: #990000;
  position: absolute;
}
<!DOCTYPE html>
<html lang="en-us">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>CSS Grid starting point</title>
</head>

<body>
  <header>
    <div class="offer">CARS FOR SALE</div>
  </header>
</body>

</html>

注意:感谢 César Venzac 指出这个讨论更改行高的 SO 链接

© www.soinside.com 2019 - 2024. All rights reserved.