- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现了一个让我有些困惑的问题。我在我的 CSS 文件中使用 rem
缩放设置了字体大小,并且在 html{ ... }
中设置了 16px
的基本字体大小> block 在 CSS 文件中。
我的问题
当使用浏览器自己的缩放方法缩放浏览器时(在本例中为 Firefox v46。我也使用 Chrome v51 完成了此操作)网站上的文本会很好地更改大小,但是,各种填充和其他一些元素具有缩放比例与字体大小、rem
值相关,但使用 Firebug(和 Chrome 检查器)查看计算代码和源代码时,未显示这些值的缩放调整计算变化 px ,即使在缩放时也是如此。
例如:
CSS:
html,body {
font-size: 16px; /*the base.*/
}
nav {
font-size: 0.75rem; /* should be 12px */
}
.textBlock {
font-size: 0.95rem; /* should be 15.2px */
padding: 0 0.15rem; /* should be 2.4px */
}
现在,当我以 100% 缩放比例加载页面时,所有内容都按比例显示,所有计算值都如注释所示。但是,如果我增加缩放比例,例如增加到 120%,页面上所有文本的大小都会按比例增加(而与字体大小无关的元素保持一致),但随后使用 firebug 读取页面源代码,它仍然告诉我那:
代码 View :
html, body {
font-size: 16px;
}
.textBlock {
font-size: 0.95rem;
padding: 0 0.15rem;
}
计算结果
font-size: 15.2px (in textBlock).
padding: 2.4px (in textBlock).
I want to be able to view the computed size of the elements on the page taking into account the zoom value .
我的印象是,通过更改浏览器的缩放比例,它改变了 body
(或 html
)元素的基本字体大小,因此 1rem
计算值从 16px
更改为 17.5px
(例如),因此所有相关的子元素都将适当缩放。
字体会缩放,但作为浏览器用户,我没有得到关于页面上基于字体的元素的当前输出大小的反馈。
进一步测试
使用 javascript ( from this answer ) 还告诉我主体中的字体大小为 16px,无论缩放如何。
删除 body
字体大小不会改变任何内容。
将基本 body
字体大小设置为 rem
/em
值也不会改变 Firebug、Javascript 给出的反馈或 Chrome 检查器。
为什么我不阅读 StackOverflow 上的其他字体大小问题
我发现的所有其他(还有很多)字体大小的问题都与人们输入静态 值(如 14px)有关
作为它们的元素大小,并期望它们可以缩放。
我找不到关于浏览器实际如何使用缩放机制以及开发人员如何使用此工具的有用文献(自 2008/09 以来)。
我想要实现/找到什么
我希望能够在任何浏览器缩放级别查看网页,并能够检测并获得反馈,告诉我各种元素上 font-size 值的大小,例如:
Zoom 120% on .textBlock [computed] {
font-size: 18.24px; /* (16px * 1.20) * 0.95 */
padding-left: 2.88px; /* (16px * 1.20) * 0.15 */
padding-right: 2.88px; /* (16px * 1.20) * 0.15 */
}
在我自己的情况下,这对于测量填充更为重要,因为它们通常也是 rem
基于我的情况(我发现由于浏览器缩放不是 100%,一些元素溢出了) .但是,无论我自己的要求如何,我都感到非常惊讶,因为我似乎无法找到我认为非常基本的计算值。我想解决这个问题(老实说,我可以很容易地修复我自己的 CSS,但我想通过阅读缩放后计算出的字体大小来获得反馈,但发现了我在此处发布的问题)。
Basically, I want to be able to get quantitive feedback of computed CSS values from a website based on the browser zooming value, of the
rem
scalar value.
有什么解决办法吗?
最佳答案
首先,rem
unit is related to the root element ,即 html
,因此,更改 body
上的 font-size
不会对后代元素产生任何影响。
Firebug 和其他开发人员工具根据 W3C 规范显示计算值。更准确地说,他们使用 window.getComputedStyle()
获取计算值的函数,此函数不考虑缩放级别。
要得到实际的字体大小,需要自己计算。你是怎么做到的 described by Tom Bigelajzen .他还创建了一个 script to detect the zoom level .
有了它,您应该能够通过将计算出的字体大小乘以缩放因子来计算实际字体大小:
var cs = window.getComputedStyle(element);
var actualSize = Number.parseFloat(cs.fontSize) * detectZoom.zoom();
关于css - 字体大小值随浏览器缩放缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37592083/
你知道更好的写法吗 font = font ? font : defaultFont; 我所知道的是: if(!font) { font = defaultFont } 我知道这是一个小工具问
我正在编写代码,但无法编译,即使类(字体)已通过 import javafx.scene.text.*; 导入我知道这个方法font包含在字体中。 这是我的代码: package helloworld
我已经构建了一个按钮,但在格式设置(即平方、内联文本等)方面遇到了问题 我目前的问题是:正文分为2部分- 上线正常-下一行是较大的字体大小 我的动画 react 正确,但文本应该在箭头的顶线和底线内。
好的,所以我想在网页上使用固定系统作为字体。我可以使用 Cufon,但我希望人们能够在鼠标悬停时选择文本并复制它。 有人有什么吗? 最佳答案 我使用 fontsquirrel 的 @font-face
我找到了 iOS 4.2 可用字体列表(链接 here ),但该列表与早期版本的 SDK 略有不同(链接 here )。 我可以很好地更改代码中的字体,但如果我使用 iOS 4.2 列表中可用的字体,
我正在尝试更改 TableView 标题上的字体颜色,其中显示“加利福尼亚/纽约”。我该怎么做? 在黑色背景上,文本需要是白色的,但无法弄清楚这一点。 谢谢 最佳答案 如果您尝试更改标题颜色,可以使用
假设我想使用 java.awt.Graphics.drawString(String str, int x, int y)在某些特定坐标处绘制字符串的方法,例如 (300, 300)。然而drawSt
我想使用Puppeteer从HTML字符串生成图像。现在我有这样的事情: const html = _.template(` Hello {{ test }}!
我正在创建一个游戏。我有一些带有文本的用户界面。最近我们想添加日语版本,但我遇到字体问题。我使用 stb_freetype 来光栅化字体,并且我支持 Unicode,所以这应该不是问题。但大多数字体似
我可以在一个文本区域中使用不同的前景色吗?不同的字体? 我想添加类似“hh:mm:ss 昵称:消息”的内容,时间为灰色,名称 - 蓝色,消息 - 黑色。 最佳答案 我在评论中犯了一个错误:你想要的是
每次我更改字体时,它都会返回到默认大小,即 12,即使我之前使用“ Jade 野”菜单更改它,它每次也只会返回到 12,我的猜测是这样我使用deriveFont()更改大小,但现在没有其他方法可以更改
我的电脑上安装了一种名为“BMW1”的自定义字体。我试图循环遍历此字体中的所有条目并将它们显示在 JTextArea 中。 我有以下代码: JTextArea displayArea = new JT
我尝试通过 Squirrel 理解生成的代码,这里是输出: @font-face { font-family: 'someFont'; src: url('someFont.eot')
我知道有多种方法可以通过 JS/DHTML 动态更改网页的字体属性,或者用 Flash 呈现的字体(使用 sIFR 或 Cufon)替换文本。但是,我找不到任何根据用户选择动态更改网页上使用的字体的好
使用具有非标准样式名称(例如“Inline”或“Outline”)而不是标准样式(例如“Bold”和“Italic”)的字体系列,如何使用 css 选择字体的不同样式? 设置 font-family
我对 html/css 有点陌生,我正在制作我的第一个网站,但我只是想不通一些东西。 首先,我在 dreaweaver 中工作...在 dreaweaver 中,一切看起来都不错,但是当我预览时,我缺
有没有办法在 Allegro5 中只绘制(或显示)图像/字体的一部分? 例如,如果我有一个正方形 A 和一个图像 B,我只想绘制/显示 B 中与 A(在本例中为 C)重叠的部分,我该怎么做? 插图:
所以,我有一个正在生成的报告 html 文件,其中有需要白色文本/字体的黑框。在通用 html 显示中一切都很好,但是当我尝试打印页面时,ctrl + p 或自定义打印功能,文本/字体保持为标准颜色,
我正在尝试制作一个非常适合 LaTeX 文档的 matlab 图形。一个已知的问题是 XTickLabel 和 YTickLabels 不使用 LaTeX 解释器渲染,导致图形不好看。 (注意:我意识
我需要在一个公共(public)位置使用默认颜色和字体,以便在桌面应用程序的多个窗口窗体中使用它。 这方面的最佳做法是什么? 我正在考虑使用应用程序设置在那里定义它们,但我想确保这是推荐的方法或者是否
我是一名优秀的程序员,十分优秀!