问题标签 [em]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
css - CSS Baseline Grid - 为什么行高变小而字体大小变大?
尝试从黄金网格系统中调整可缩放基线网格:https ://github.com/jonikorpi/Golden-Grid-System/blob/master/GGS.css
这是相关的CSS(除非我遗漏了什么):
我想不通的是:为什么行高会随着字体大小变大而变小?
我正在尝试制作自己的基线网格,但我似乎无法推断导致这种模式的方程。
显然字体大小来自经典
目标÷上下文=结果
如果您对字体大小进行数学运算,则可以解决。例如对于 h2:
26px ÷ 16px = 1.625em
但该数学分解为线高。
奇怪的是为什么 .small 类的 line-height 与 .large、h1、h2 的 line-height 相同……但是,这是我最不关心的问题。
android - 为什么不使用 PT 作为字体和元素大小的单位?
我正在使用 jQueryMobile 和 PhoneGap 开发一个跨平台的移动应用程序。我瞄准的第一个平台是安卓。
对于 Android 应用,建议开发者使用 dp 作为字体大小的单位。DP 代表与密度无关的像素。使用它意味着您的字体在屏幕上具有相同的物理尺寸(以英寸、厘米或其他为单位),无论屏幕密度如何。
那太棒了。现在我想知道:如果我按照 Android 的要求在 dp 中指定所有内容,其他浏览器平台会支持这个单元吗?我假设不是。
这让我想知道将字体设置为物理绝对大小的旧方法(或解决方法)有什么问题:
1. PT:一个 pt 是 1/72 英寸。
所以这是一个物理上的绝对大小,对吧?这听起来好得令人难以置信。如果这是可靠的并且在所有浏览器和设备上都受支持,为什么还要这样做呢?
2. EM:一个 em 定义为文档的字体大小。
所以对于 PT,大小从一开始就是绝对的。使用 em 作为字体大小单位,我只需要设置文档的字体大小,使其适合屏幕(我可以使用 Javascript)。如果在 em 中指定了所有其他内容,我就完成了。正确的?
3. jQueryMobile* 同时,我使用 CSS 媒体查询来检测屏幕宽度和高度和密度,并使用它们为元素设置基本字体大小。之后,所有字体尺寸都以 em 为单位。很多帖子建议 em 应该只用于字体,但是如果你的应用程序/网站都是关于文本的,那么所有包含文本的元素都设置 em 中的尺寸是否有意义?
4. 或者...
“桌面”浏览器和 iOS 是否也支持 dp?编辑:不,不是。
感谢您的智慧。
css - 使用 em 的边距和填充
当 1em 应用于元素时,它采用浏览器的默认值(通常为 16px)或其父元素的 font-size 值,对吧?但我注意到,如果我margin-top: 1em
在h1
元素中使用类似的东西(不使用重置样式表,因此 h1 设置为font-size: 32px
),那么 1em 等于32px
,即使它的父元素设置为font-size: 16px
。
但是,使用类似 font-size: 100%; 解决了差异。
我错过了什么?
css - 使用 em 的最大宽度
有人可以解释一下 em 测量单位如何与 max-width css 属性一起使用吗?在我的 1920 x 1080 屏幕分辨率上,我发现将最大宽度设置为 140em 相当于最大宽度为 100%。
css - IE8中1em是多少像素?
1em 不应该在所有浏览器中都是 16px 吗?
我有这个 CSS
这在 IE8 上奇怪地为标签元素提供了 12 像素的高度,而我希望为 13.6 像素。
感谢帮助!
html - 在 HTML5 中,可以在 em 标签中使用强标签吗?
我目前正在标记一些用户警报,如下所示
我发现其他答案表明,尽管 html 有效,但这在语义上无效。但是在所有情况下都嵌套 em/strong 标签真的不行吗?上面的例子在我看来是一个完全合理的用途——特别强调已经强调的东西的一个小节。但是屏幕阅读器可以将其解释为它应该被解释的意思,还是会让他们感到困惑?
google-chrome - 使用“em”作为边框宽度的 HTML 在 Chrome 上不起作用?
我正在尝试使用“em”来调整所有 HTML 元素的大小,包括 div 和 imgs 的边框。
但是当我在我的一个 div 上使用 css:border: .1em #000000 solid;
时,它不会在 Google chrome 中显示,而是在 Firefox 和 IE 中显示。我是否以错误的方式使用它?或者它是 Chrome 的错误之一?
无论如何,我该如何解决它?或者有没有其他方法可以解决它?
internet-explorer-7 - 在 IE6/7 中使用基本字体大小的布局问题 - em/px 错误
所以我才意识到将基本字体大小设置为 10px,并使用 em 作为我的测量大小并不顺利。IE 不坚持 10px 基本字体大小,所以我的网站在 IE7/6 中有点爆炸......
下面是firefox的截图:
这是 IE7:
那么有没有人碰巧知道是否有任何快速修复?还是我需要将所有 em 转换为 px?如果是这样,有没有一种快速的方法可以做到这一点?
css - 在利用特殊性规则时要小心 CSS em 单位?
当使用 EM 单位而不是 PX 单位指定字体大小时,我无法编写可维护的 CSS 代码。我已经习惯了这样写 CSS 代码:
这个想法是,在整个网站的许多页面上,有很多文本应该有 12 像素的字体大小。我利用特殊性规则来覆盖站点特殊区域中的 12px 字体大小。
假设我将上面的代码重写为:
如果我将上面代码中的 px 替换为 em,我的理解是我失去了特异性规则的优势。代码的第 3 行将被解释为“10 em of 11 em of 12 em”,这与“覆盖所有先前的规则并使用 10 em of (默认值是什么?)”的含义完全不同。我说的对吗?
编辑如果我所说的是正确的,那么如何编写字体大小规则,例如“对所有元素使用字体大小 X,但在侧边栏上使用字体大小 Y”?
javascript - jQuery/JavaScript:以简单的方式将像素转换为 em
我正在寻找一种简单的方法来向我的插件添加一行代码,将几个像素值转换为 em 值,因为我的项目的布局需要在 ems 中。有没有一种简单的方法可以做到这一点,因为我不想在网站上添加第三方插件。
不会在这里发布代码,因为它与它自己的插件无关。
谢谢。
示例:13px -> ??em