CSS:100%的字体大小

关于百分比大小和其他大小的字体有很多文章和问题。 但是,我无法找出百分比值的参考应该是什么。 我知道这在所有浏览器中都是相同的大小。 我也读过这个例子:

百分比(%):百分比单位很像“em”单位,除了一些基本差异。 首先,当前字体大小等于100%(即12pt = 100%)。 在使用百分比单位时,您的文字对于移动设备和辅助功能仍可完全扩展。

资料来源:http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/

但是如果你说“ie 12 pt = 100%”,那么这意味着你首先必须定义font-size: 12pt 。 它是如何工作的? 您首先以绝对衡量尺寸定义尺寸,然后将其称为“100%”? 没有多大意义,因为许多样本认为它是有用的:

body {
  font-size: 100%;
}

所以通过这样做,相对于字体大小是什么? 我注意到,我在屏幕上看到的尺寸因字体而异。 例如,Arial看起来比Times New Roman更大。 另外,如果我只是这样做,身体大小= 100%,这是否意味着它将在所有浏览器上都一样? 或者只有当我第一次定义绝对值?

更新,SAT 7月23日

我到达那里,但请耐心等待。

因此,如果我理解正确,%值与默认浏览器字体大小相关。 那很好,但又给了我几个其他问题:

  • 这个标准尺寸对于每个浏览器版本都是一样的,还是在不同的版本中有所不同?
  • 一世 ! Google Chrome的设置(以前从未看过!),我看到标准的“衬线”,“无衬线”和“等宽”设置。 但是,我怎么解释这个其他字体呢? 说我定义font: 100% Georgia; ,浏览器需要多大? 它会查找serif的标准大小,还是使用“Georgia”字体作为浏览器的标准大小
  • 在几个网站上,我阅读Sizing text and line-height in ems, with a percentage specified on the body [..], was shown to provide **accurate, resizable text across all browsers** in common use today比如Sizing text and line-height in ems, with a percentage specified on the body [..], was shown to provide **accurate, resizable text across all browsers** in common use today 。 但是从我现在学习的内容来看,我相信你应该在可调整大小的文本(使用%或em,比如他们在本文中推荐的内容)或跨浏览器'精确,一致的字体大小(通过使用px或作为基地)。 它是否正确?
  • Google设置:

    Google Chrome Settinsg

    这就是我认为,如果不以绝对值定义大小,情况可能会如此。


    Firefox的浏览器默认值为16pt,您可以进入Firefox选项,单击“内容”选项卡并检查字体大小来进行检查。 你也可以为其他浏览器做同样的事情。

    我个人喜欢控制我的网站的默认字体大小,因此在每个页面包含的CSS文件中,我将设置BODY默认值,如下所示:

    body {
        font-family: Helvetica, Arial, sans-serif;
        font-size: 14px
    }
    

    现在,所有HTML标签的字体大小将继承14px的字体大小。

    假设我想要一个所有div的字体大小比身体大10%,我只需要:

    div {
        font-size: 110%
    }
    

    现在任何查看我的页面的浏览器都会自动使所有div比body的大10%,这应该是15.4px。

    如果我希望所有div的字体大小缩小10%,我可以这样做:

    div {
        font-size: 90%
    }
    

    这将使所有div的字体大小为12.6px。

    你也应该知道,由于字体大小是继承的,每个嵌套的div将减少10%的字体大小,所以:

    <div>Outer DIV.
        <div>Inner DIV</div>
    </div>
    

    内部div的字体大小为11.34px(12.6px的90%),这可能并不是预期的。

    这可以帮助解释:http://www.w3.org/TR/2011/REC-CSS2-20110607/syndata.html#value-def-percentage


    我的理解是,当字体设置如下

    body {
      font-size: 100%;
    }
    

    浏览器将根据该浏览器的用户设置呈现字体。

    规范说明%呈现

    相对于父元素的字体大小

    http://www.w3.org/TR/CSS1/#font-size

    在这种情况下,我认为这是指浏览器设置的内容。


    font-size属性值的百分比是相对于父元素的字体大小 。 CSS 2.1说这种模糊和混淆(指“继承字体大小”),但CSS3文本说得很清楚。

    body元素的父元素是根元素,即html元素。 除非在样式表中设置,否则根元素的字体大小取决于实现。 它通常取决于用户设置。

    在许多情况下设置font-size: 100%是毫无意义的,因为如果没有样式表设置自己的字体大小,则元素会继承其父级的字体大小(导致相同的结果)。 但是,覆盖其他样式表(包括浏览器默认样式表)中的设置会很有用。

    例如, input元素通常在浏览器样式表中设置一个设置,使其默认字体大小小于复制文本的大小。 如果你想让字体大小相同,你可以设置

    输入{font-size:100%}

    对于body元素,逻辑冗余设置font-size: 100%经常使用,因为它被认为有助于防止一些浏览器错误(可能已经失去其重要性的浏览器)。

    链接地址: http://www.djcxy.com/p/15331.html

    上一篇: CSS: 100% font size

    下一篇: size style rule with CSS/javascript/jquery