css - 文本在(几乎)相同操作系统的相同浏览器中的位置不同

标签 css operating-system

我真的被难住了。我所拥有的是一个样式化为矩形的 div,其中包含作为页面主要标题的文本。相关代码如下:

HTML:

<div id="rectangle">
<h1>SIN</h1>
</div>

CSS:

h1 {
        text-align:right
        font-family:Buenard;
        font-size:120px;
        font-weight:normal;
        color:#FFFFFF;
        position:absolute;
        width:98%;
        line-height:109px;
        border:1px solid white; /*for debugging purposes*/
}

#rectangle {
        position:relative;
        width:237px;
        height:109px;
        background:#6F0000;
        margin-top:40px;
}

让我发疯的问题是我有两台不同的 Windows 7 计算机,一台家庭高级版和另一台企业版,它们对相同版本的 Chrome 产生不同的结果(Firefox 也有不一致)。在 Enterprise 计算机上,文本更靠近框的底部,而在 Home Premium 计算机上,文本更靠近顶部。

A screenshot of the problem

我记得读过 Chrome 和 Firefox 等浏览器有时会使用操作系统的字体设置,但我不知道是什么原因造成的,也不知道如何补救。我最终希望文本在矩形内垂直居中并右对齐,并且可以为每台计算机都实现这一点,但不能同时为两台计算机实现。

我相信我尝试过的 Mac OSX 计算机与 Windows Enterprise 计算机具有相同的行为(但我不完全确定),所以这可能只是我个人计算机上的设置。

我知道我可以只使用图像来解决这个问题(我可能会),但我真的很想知道这里发生了什么。

编辑:我在我的另一台电脑上试过了,问题仍然存在。以下述方式引用网络字体。还有其他想法吗?我的倾向是这是一个系统设置问题,但我找不到那是什么设置。

最佳答案

它很可能是您使用的字体,因为其中一台计算机上可能没有安装它。我建议先尝试不同的字体系列。

h1 { 
  font-family: san-serif;
}

如果您想使用该字体,您首先必须确定您是否拥有分发它的合法权利,然后您必须让您网站的每位访问者下载并安装该字体,以便您的网站正常显示。

如果您想要自定义字体,我建议您查看网络字体。 Google 网络字体只是此处的示例之一:http://www.google.com/fonts/

编辑:

除了确保,感谢@w3d,你的字体可以正常工作,尽管不是你引用它的方式。您需要将其设为网络字体引用,以便浏览器知道转到网络资源,否则将改用后备字体。

根据您添加的图像,行高可能是您的问题,请尝试将其删除。如果您需要将该文本从其边界上移开,则用 span 包裹它并应用一些样式。

HTML

<span class="elevate">SIN</span>

CSS

span.elevate {
  display: inline-block; /* to allow applying margins and padding */
  margin: 2px 0; /* puts 2px worth of margin below and above text */
}

关于css - 文本在(几乎)相同操作系统的相同浏览器中的位置不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220584/

相关文章:

c# - 不同机器上的 Guid 唯一性

html - ngx-quill 中的空白

html - 缩小窗口导致文本被抛出 div

javascript - 如何创建小书签以覆盖来自外部文件的 html/div 层和 CSS

CSS Nth Child 根据 N 计算顶部高度

ruby - Rspec 与系统交互

javascript - 容器中的一个 div,其背景可以延伸到无穷大

c - 如何确定工艺尺寸?

无论操作系统如何,都可以使用的 HTML 字体?

operating-system - 如何将NSURL转换为CFURLRef