Css 不同平台上的文本大小不同

Css 不同平台上的文本大小不同,css,fonts,firefox4,directwrite,Css,Fonts,Firefox4,Directwrite,如果每个平台以不同的大小呈现文本,如何在不同的平台上获得精确的大小?这一问题随着最新版本的发布而加剧。此版本支持使用硬件渲染文本。使用DirectWrite编写的文本的大小比不使用硬件加速编写的文本大得多。请注意以下示例。如果您需要查看 CSS Windows 7 64位主页 ATI Radeon HD 4670 DirectWrite处于关闭状态,因为我的驱动程序未更新 620x283 Windows Vista 64位业务 英伟达GeForce 8800GT DirectWrite

如果每个平台以不同的大小呈现文本,如何在不同的平台上获得精确的大小?这一问题随着最新版本的发布而加剧。此版本支持使用硬件渲染文本。使用DirectWrite编写的文本的大小比不使用硬件加速编写的文本大得多。请注意以下示例。如果您需要查看 CSS

  • Windows 7 64位主页
  • ATI Radeon HD 4670
  • DirectWrite处于关闭状态,因为我的驱动程序未更新
  • 620x283

  • Windows Vista 64位业务
  • 英伟达GeForce 8800GT
  • DirectWrite已启用,因为我刚刚更新了驱动程序
  • 620x293
HTML

您是否看到当DirectWrite关闭时导航如何与内容对齐,但当DirectWrite打开时导航比内容高?我知道有一些骇人的解决办法。一种是在px中指定所有内容(
字体大小、宽度、高度)。这并不理想,因为组件将不是模块化的,也就是说,它不能在另一个缩放到另一个大小的设置中重复使用。它还破坏了IE6的字体大小选项。另一个解决方案是使用JavaScript读取导航的物理高度,并使内容具有相同的高度。这并不理想,因为CSS的角色是设计样式。有没有CSS解决方案


这只是众多例子中的一个。另一个是Ubuntu9上的Firefox3有更宽的文本,所以不是所有的链接都适合我的主导航。我被迫用
max width:37em切掉最后一个导航链接;溢出:隐藏

我诚实的回答是,你必须处理不同的字体大小。最好不要使用
minheight:26.1em
对齐内容高度,因为它是“hacky”。我建议重新构造HTML,使UL位于DIV内,并且底线始终匹配


除此之外,您可以设置
ulli{line height:1em}
或类似设置,使LIs始终保持相同的高度。

我不担心这一点。它们本质上是不同的实体,而且内容也不是固定的,正如您所说的,如果您点击“高级选项”,内容将扩展。我觉得稍微改变一下看起来不错,好像它让你知道它不是一个固定的边界。

有个主意。如果希望保持固定,可以将所有这些内容包装在容器DIV中,并使用它来定义其边界。然后在内容扩展到容器DIV之外时使用溢出滚动。只要内容是垂直的,就不会太麻烦了

这是垃圾邮件/钓鱼吗?当我尝试查看这个实时示例时,我得到一个页面,上面说我需要下载一些插件。不,McAfee验证该插件是干净的:。您不必下载插件来查看HTML/CSS。这是专用编码框的web前端吗?不错。:)你一定是所有程序员中最热/最强的time@JoJo:当我获得下载页面时,如何查看示例的HTML/CSS?我无法按照建议重新构造HTML,因为当您点击“高级选项”时,内容会扩展:。将我的线高度设置为1米不太管用。在使用DirectWrite off的同一台机器上,Chrome和Firefox的高度不同。
li{height:2.6em;}div{min height:26em;}
maybe?或者类似的东西
ul{height:26.1em;}li{height:10%}
。您遗漏的一个小细节是导航在每个
  • 上有一个0.1米的边框,这在总高度中相加。此代码在FF和Chrome中与直接注销一致:
    ul li{line height:2.8em}div{min height:26.9em}
    ,根据以下公式计算:(numPresets*(presetLineHeight+presetBorderBottom))+预设SelectedBorderTop-this.padding-this.border。我必须等到回家后才能看到DirectWrite改变游戏。我希望设置一个硬线的高度将压倒DirectWrite变高的趋势。
    <ul>
     <li><a>Nav</a></li>
     <li><a>Nav</a></li>
     <li><a>Nav</a></li>
    </ul>
    <div>
     Content
    </div>
    
    ul {
     float: left;
     width: 10em;
    }
    
    div {
     margin: 0 0 0 12.7em;
     min-height: 26.1em;
    }