【问题标题】:Why my element uses 2 different font-sizes?为什么我的元素使用 2 种不同的字体大小?
【发布时间】:2022-01-30 03:54:48
【问题描述】:

我将字体大小设置为全局。当浏览器的宽度改变(一种流畅的排版)时,情况就会改变。我将其设置为 body 元素。

但是当浏览器的大小改变时,它就会改变(字体大小)。为什么?以及如何阻止这种情况?

*,
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-size: calc(16px + .75vw);
}

.container {
  background-color: #d1c6c6;
  padding: 10px;
  min-height: 100vh;
}

.container__box {
  font-weight: bold;
  color: white;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  padding: 15px 10px;
  background-color: #8b2be4;
  width: 90vw;
  font-size: 30px;
}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<div class="container">
  <div class="container__box">Gridfan Jessica</div>
</div>

【问题讨论】:

  • font-size: calc(16px + .75vw);vw 的大小是视口宽度的函数。
  • 我知道,但为什么这与 em 相关?它不只是与浏览器的宽度有关吗? ems 属于我给出的元素。我猜
  • 您已将所有字体大小设置为 相对 到视口的大小。因此,当视口大小发生变化时,您的字体大小也会发生变化。 “但是当浏览器的大小改变时,它就会改变(字体大小)。为什么?我该如何阻止呢?”由于我所说的原因,它会发生变化。您可以通过不使用作为视口大小函数的字体大小单位来停止它。除此之外,我想我不知道如何为您提供帮助。
  • 好的,我想我明白了。我只是想知道它背后的逻辑。谢谢)

标签: html css font-size bem


【解决方案1】:

但是当浏览器的大小改变时,它就会改变(字体大小)。为什么?

因为你使用vw字体大小会随着浏览器大小的变化而变化。

我怎样才能阻止这种情况?

请改用px。如果眼睛不舒服,请针对不同屏幕宽度使用不同字体大小的媒体查询。

【讨论】:

  • 但之后我设置了 font-size: 1.3em;(例如)当浏览器缩小或增长时它仍然会改变。我的意思是如果我设置背景颜色:红色;对于 X 类元素和 10 行代码后,我设置了背景颜色:蓝色;对于 X 类元素。它会是蓝色的,对吧?那么为什么这在这里不起作用。
  • 因为em也是相对单位。 cm、mm、in、pt 和 pc 是绝对单位的示例。 w3.org/Style/Examples/007/units.en.html>
猜你喜欢
  • 2021-05-15
  • 2013-04-05
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多