【问题标题】:Definitive method for sizing font in csscss中字体大小的确定方法
【发布时间】:2010-05-27 05:48:50
【问题描述】:

我想了解经验丰富的开发人员关于他们认为确定字体大小的最终方法(在基本意义上)的一些意见。我知道使用 ems 被认为是最好的,但我指的是设置基本字体大小的最佳方法。

有使用 62.5 方法将字体设置为 10px 的技术,但我认为 ie 存在舍入问题,这会稍微抛出(也许不是)

YUI 框架使用

body {
font:13px/1.231 arial,helvetica,clean,sans-serif;
/* for IE6/7 */ 
*font-size:small; 
/* for IE Quirks Mode */
*font:x-small; 

}

这真的让我很困惑!

的黎波里使用

html
{
   font-size:125%;
}

body
{
    font-size:50%;
}

一个单独的列表建议类似于:

body {

font-size: 16px;
*font-size: 100%;

}

那么,在这些方法或任何替代方法中,哪一个是最好的。最好的是最容易使用和最可靠的跨浏览器。

【问题讨论】:

    标签: css fonts


    【解决方案1】:

    最近人们又开始使用直接像素大小,因为所有现代浏览器的缩放功能现在都按比例增加所有内容,而不是像以前的版本那样仅仅增加字体大小。 12px 是我见过的标准文本的标准基本尺寸。

    【讨论】:

    • +1 - 12px ...尝试用它的 2px 字体大小告诉 Facebook
    • 这是否意味着整个布局也必须以像素为单位进行调整?
    • 但是如果您的布局设置为百分比或 ems 并且字体大小以像素为单位,并且用户使用文本增加或缩放来调整大小,那么布局不会更容易搞砸
    • IE7 和 IE6 仍然存在 px 问题。当然,它们不是现代浏览器,但它们仍在使用,唉。辅助技术也可能存在基于 px 的布局的问题,而且它们的成本太高,以至于他们的用户倾向于使用非常旧的模型(他们可以依赖 IE6/7,糟糕的组合)
    • 是的,这当然取决于您的目标受众等。只是说现代发展似乎是人们前进的方向。 @David - 如果CSS干净地完成,那么您的文本是否以像素为单位并且布局以百分比为单位并不重要。浏览器现在只需将所有内容缩放在一起,以便相应地缩放。
    【解决方案2】:

    有设置字体的技巧 使用 62.5 方法到 10px 但我认为 即舍入有问题 稍微抛出这个(也许不是)

    这是我每天使用的技术,如果存在这样的错误,我没有遇到任何 IE 错误。使用 em 真的很容易,只要你可以在不使用 calc 的情况下除以十!您只需对 hN、li、p 等元素使用 font-size 属性,但不要尝试同时调整父 div 或 blockquote 以及子段落和标题的大小,否则子元素没有 10px 1em 等价了。

    如果您使用 CSS 框架,请坚持使用它使用的方法。

    题外话,我使用条件 cmets 并且没有明星黑客。永远。

    也就是说,您的问题没有明确的答案(某人在最近的一个话题上写了“em vs px 是一场圣战”,并且(s)他是非常正确的恕我直言)。

    从可访问性的角度来看,这里有一个相应的充分技术:C14: Using em units for font sizes - WCAG 2.0这不是实现Success Criteria 1.4.4 Resize text的唯一方法:

    Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality. (Level AA) 
    

    C12 是一样的,只有百分比,据我记得,其他的不是跨浏览器兼容的。

    【讨论】:

    • 是的,明星黑客确实使 css 无效,但您还有什么反对使用它们的吗?
    • 这对我来说是一个充分的理由。除此之外,任何其他具有相同错误的解析器,现在或将来,都可以解释相应的 CSS,并且可以通过 MSFT 本身提供的安全有效的技术来避免它:条件 cmets。那么为什么不选择后者呢?
    • 这是一个很好的论点,我已经坐了几分钟,试图想出一个不同意你的理由。我能想到的最好的方法是更容易使用明星黑客。这实际上是一个可悲的借口,所以我想从现在开始我将使用条件 cmets。
    猜你喜欢
    • 1970-01-01
    • 2020-06-03
    • 2013-08-04
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    相关资源
    最近更新 更多