- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Safari 和 Chrome 中都遇到了以下问题。
body {
font-size: 15px;
line-height: 1.2;
}
body, .same-font {
font-family: Helvetica, sans-serif;
}
code {
font-family: Courier New, sans-serif;
}
<ul>
<li>Without any code - 18px height.</li>
<li>With <code>code</code> - 20px height.</li>
<li>With <code class="same-font">code.same-font</code> - 18px height.</li>
</ul>
运行上面的代码片段和检查器。您会注意到 code
元素没有任何修改其 font-size
或 line-height
除了 body
它继承自。
虽然它没有坚持继承,因为它包含的 li
的高度是 20px,而不是像其他的 18...我不确定那个高度是从哪里来的,因为code
元素本身的高度为 17px(这也是来历不明)。
当 normal/body 应用到 code
元素时(就像在第三个列表项上),它像正常一样回到 18px。对我而言,这意味着用户代理对 code
元素施加的任何其他属性都不会影响高度 - 只有 font-family
。
编辑:作为引用,StackOverflow 样式中的某些内容可以防止这种行为。以下列表项都具有相同的高度:
两个
编辑 2:显然不是。如果您将他们的等宽字体更改为 Courier New,那么同样的问题会持续存在。
如何防止这种大小变化?即,即使该行中的字体继续更改,您如何指定将使用的行高?
一个示例用例是在具有垂直节奏的设计中 - 每条线的高度和元素使用的总高度应该是 18px 的倍数(即,如果使用该网格大小) - 20px 的线会打乱节奏.
最佳答案
我最终解决了自己的问题(在可接受的范围内),方法是简单地调整字体系列和大小,直到它对我有用:
body {
font-size: 15px;
line-height: 1.2;
}
body, .same-font {
font-family: Helvetica, sans-serif;
}
code {
font-family: Menlo, Courier New, sans-serif;
font-size: 0.9333em; /* 14/15 */
line-height: 1.28571; /* 18/14 */
}
<ul>
<li>Without any code - 18px height.</li>
<li>With <code>code</code> - 18px height.</li>
<li>With <code class="same-font">code.same-font</code> - 18px height.</li>
</ul>
为什么选择门洛?
我注意到 StackOverflow 使用 Menlo 并且没有这个问题。当我尝试时,它也解决了问题,但是 Windows 上没有内置字体。
所以简单地使用 Menlo 解决了 Mac 上的问题,并没有改变 Windows 上的任何东西。
为什么font-size
不同?
当使用 Menlo 时,不同的大小没有任何改变(除了字体大小......) - 它仍然坚持行高,所以 Mac 一切都很好。
然而,这个font-size
与 Windows 上的 Courier New 回退相结合,以某种方式让它也遵守了行高!
如果我使用 14px 而不是 0.9333em 它仍然可以正常工作,但是如果我使用 18px 作为 line-height
而不是 1.28571,它就不会工作。这并不困扰我,因为我在设计中使用相对值。
所以...
Menlo 字体与具有不同字体大小的 Courier New 回退相结合,在 Mac(Safari 和 Chrome)和 Windows(Chrome)上充分解决了我的问题。
我的情况很宽松——像素差异不会破坏我的设计,但只会破坏我的节奏。在需要像素完美的情况下,我不会对这种玩弄字体和大小的巫术方法感到安全......
如果有人仍然可以解释所有这些数字的来源以及是什么造成了这里的实际差异,那就太好了。
关于css - 设置了字体大小和行高,但更改字体仍会使元素的高度发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32558585/
我正在寻找一种方法来创建根据价格选择我的产品的过滤器(选择下拉菜单)。 我知道这样的查询是完全可能的: SELECT * FROM products ORDER BY price ASC SELECT
函数参数中或显示尺寸时(高度,宽度)的顺序是否有约定? 最佳答案 我不知道大量的语言,但我使用过的语言(宽度,高度)。它更适合沿着 (x, y) 坐标线。 关于language-agnostic -
在我的表单中,我让用户输入房间的长度高度和宽度以获得 m2、m3 和瓦特的计算值。但是用户也应该能够直接输入 height 和 m2 来获取值。我尝试了很多语法,但 if else 不能正常工作。我知
我在 Elasticsearch 中创建了一个索引,看起来像 {"amazingdocs":{"aliases":{},"mappings":{"properties":{"Adj Close":{"
我有以下功能,我需要清除数据库中的所有图片列并移动到文件系统。当我一次性完成这一切时,内存太多并且会崩溃。我切换到递归函数并执行 20 次写入和批量操作。 我需要为大约 6 个表执行此操作。我的 Re
我正在编写一个函数来计算 PI 的值,并将其作为 double 值返回。到目前为止,一切都很好。但是一旦函数到达小数点后14位,它就不能再保存了。我假设这是因为 double 有限。我应该怎么做才能继
2020年是中国CDN行业从98年诞生到今天快速发展的第二十四年,相关数据显示,全国感知网速持续上扬,达到了3.29兆/秒,标志着在宽带中国的政策指导下,中国的网速水平正在大步赶上世界发达国家的水平
在 aerospike 集合中,我们有四个 bin userId、adId、timestamp、eventype,主键是 userId:timestamp。在 userId 上创建二级索引以获取特定用
$('#container').highcharts('Map', { title : { text : 'Highmaps basic demo'
有没有办法显示自定义宽度/高度的YouTube视频? 最佳答案 在YouTube网站上的this link中: You can resize the player by editing the obj
我使用 Highcharts ,我想在 Highcharts 状态下悬停时制作动态不同的颜色。 正如你可以看到不同的颜色,这就是我做的 var usMapChart , data = [] ; va
在所有节点上运行 tpstats 后。我看到很多节点都有大量的 ALL TIME BLOCKED NTR。我们有一个 4 节点集群,NTR ALL TIME BLOCKED 的值为: 节点 1:239
我发现 APC 上存在大量碎片 (>80%),但实际上性能似乎相当不错。我有 read another post这建议在 wordpress/w3tc 中禁用对象缓存,但我想知道减少碎片是否比首先缓存
对于我的脚本类(class),我们必须制作更高/更低的游戏。到目前为止,这是我的代码: import random seedVal = int(input("What seed should be u
我发现 APC 上存在大量碎片 (>80%),但实际上性能似乎相当不错。我有 read another post这建议在 wordpress/w3tc 中禁用对象缓存,但我想知道减少碎片是否比首先缓存
对于我的脚本类(class),我们必须制作更高/更低的游戏。到目前为止,这是我的代码: import random seedVal = int(input("What seed should be u
我已经 seen >2 字节的 unicode 代码点,如 U+10000 可以成对编写,如 \uD800\uDC00。它们似乎以半字节 d 开头,但我只注意到了这一点。 这个 split Actio
有人可以帮我理解为什么我的饼图百分比计算不正确吗?看截图: 根据我的计算,如 RHS 上所示,支出百分比应为 24.73%。传递给 Highcharts 的值如下:- 花费:204827099.36-
我阅读了有关该问题的所有答案,但我还没有找到任何解决方案。 我有一个应用程序,由我的 api 服务器提供。 Wildfly 8.1 和 Mysql 5.6。当查看时间到来时(Wildfly 服务器连接
我正在用选定的项目创建圆形导航。当用户单击任何项目时,它将移动到定义的特定点。一切都很好,除了当你继续点击项目时,当动画表现不同并且项目在 360 度圆中移动并且它被重置直到你重复场景时,我希望它
我是一名优秀的程序员,十分优秀!