在网页的正文和html元素中设置字体大小有什么区别?

在网页的正文和html元素中设置字体大小有什么区别?,html,css,fonts,font-size,Html,Css,Fonts,Font Size,在我的应用程序中,我将文本大小设置为: html { font-size: 58%; font-family: Arial, Helvetica, sans-serif; /* font-size: 1.5rem; */ } body { font-size: 1.5rem; } 当我检查一些文本时,这会导致字体的大小: font-family: Arial, Helvetica, sans-serif; font-size: 14px; 然而,我尝试了这一点: html { font-s

在我的应用程序中,我将文本大小设置为:

html {
font-size: 58%;
font-family: Arial, Helvetica, sans-serif;
/* font-size: 1.5rem; */
}

body {
font-size: 1.5rem;
}
当我检查一些文本时,这会导致字体的大小:

font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
然而,我尝试了这一点:

html {
font-size: 58%;
font-family: Arial, Helvetica, sans-serif;
font-size: 1.5rem;
}
现在的结果是更大的文本


有人能帮我解释一下我应该使用HTML元素还是BODY元素来设置基本字体大小吗。请注意,所有应用程序都以rem单位设置所有内容。我只是想用正确的方法来做,这样它以后也能很好地适应不同的媒体大小

正文设置时,1.5rem表示
html
字体大小的1.5倍,即1.5*58%=87%

在第二种情况下,CSS的工作方式是使用属性的最后一个声明值,并丢弃前一个值(而不是与不同元素的情况相乘)。换句话说,
html{font size:58%;font size:1.5rem;}
html{font size:1.5rem;}
相同,后者与
font size:150%
相同


使用
rem
单位调整字体大小将修改
html
元素上声明的字体大小,因此您应该在
html
中设置所需的基本字体大小。在
body
上声明它将在简单的情况下起作用,但是使用
rem
更改较低元素(
div
s等)上的字体大小将基于
html
值,这会让人困惑。

当您为
body
设置它时,1.5rem意味着
html
字体大小的1.5倍,这是1.5*58%=87%

在第二种情况下,CSS的工作方式是使用属性的最后一个声明值,并丢弃前一个值(而不是与不同元素的情况相乘)。换句话说,
html{font size:58%;font size:1.5rem;}
html{font size:1.5rem;}
相同,后者与
font size:150%
相同


使用
rem
单位调整字体大小将修改
html
元素上声明的字体大小,因此您应该在
html
中设置所需的基本字体大小。在
body
上声明它在简单的情况下会起作用,但是使用
rem
更改较低元素(
div
s等)上的字体大小将基于
html
值,这会让人感到困惑。

在第一个示例中发生的情况如下:

  • 您将字体大小设置为58%,如果默认大小为16px,则其中58%为9.28px
  • 接下来,在
    主体
    选择器中将字体大小设置为1.5rem,这基本上意味着u以150%(9.28*1.5=13.92)的比例缩放9.28px,这就是14px
  • 在第二个示例中,您的第二个
    font-size
    (1.5rem)将覆盖您的第一个
    font-size
    (58%)声明,使您的字体大小超出默认值1.5rem(通常为16px),这将使您最终达到24px


    我通常在
    html
    标记选择器中将
    font size
    设置为
    62.5%
    (在您的例子中为58%),然后在
    body
    中将其设置为100%(即62.5%中的100%)。

    在第一个示例中发生的情况如下:

  • 您将字体大小设置为58%,如果默认大小为16px,则其中58%为9.28px
  • 接下来,在
    主体
    选择器中将字体大小设置为1.5rem,这基本上意味着u以150%(9.28*1.5=13.92)的比例缩放9.28px,这就是14px
  • 在第二个示例中,您的第二个
    font-size
    (1.5rem)将覆盖您的第一个
    font-size
    (58%)声明,使您的字体大小超出默认值1.5rem(通常为16px),这将使您最终达到24px


    我通常做的是在我的
    html
    标记选择器中将我的
    字体大小设置为
    62.5%
    (您的情况下为58%),然后在我的
    正文中设置为100%(即62.5%中的100%)

    非常感谢。你能告诉我通常在哪里设置尺寸吗。我应该在HTML还是正文中完成它?@SamanthaJ不客气,请查看我的最新答案。谢谢Piers。我对你和Jarek都投了赞成票,但我接受了你的答案,因为它提前了一分钟。非常感谢。你能告诉我通常在哪里设置尺寸吗。我应该在HTML还是正文中完成它?@SamanthaJ不客气,请查看我的最新答案。谢谢Piers。我对你和Jarek都投了赞成票,但我接受了你的答案,因为它提前了一分钟。谢谢Jarek,你会建议我做什么。我应该在正文中设置还是在HTML中设置?另外,是否建议使用大于或小于1的字体大小来更改简单标准网页的默认值?我稍微编辑了我的答案,以解决body-vs-html问题。谢谢Jarek。我想接受这两个答案,但只能接受一个,所以我接受了Piers的答案,因为它稍早。希望你能理解。哦,我也对你的答案投了赞成票。谢谢Hanks Jarek,你建议我做什么。我应该在正文中设置还是在HTML中设置?另外,是否建议使用大于或小于1的字体大小来更改简单标准网页的默认值?我稍微编辑了我的答案,以解决body-vs-html问题。谢谢Jarek。我想接受这两个答案,但只能接受一个,所以我接受了Piers的答案,因为它稍早。希望你能理解。哦,我也对你的答案投了赞成票。谢谢