flexiblejs中的字体可以不使用px吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flexiblejs中的字体可以不使用px吗相关的知识,希望对你有一定的参考价值。

flexiblejs中的字体本来就不使用px.而是使用rem。可以根据根节点的font-size的值动态的进行改变。从而达到不同分辨率下字体大小也会自适应

参考技术A 可以不使用 px,这是flexiblejs 的团队觉得从体验上来讲,字号不应该因为屏幕大小而变化,所以提供了一个写 px 的方案。
友情提示:flexiblejs 坑有点儿多。本回答被提问者采纳
参考技术B 常用的字体单位除了px之外

还有
em
pt

mm

cm
详细内容如下
http://www.w3school.com.cn/cssref/css_units.asp
w3school的详细说明应该足够解决你的问题了
参考技术C em
cm
mm
in
ex
pt
pc

使用 javascript 将自动生成的 HTML 中的字体大小从 px 更改为 em

【中文标题】使用 javascript 将自动生成的 HTML 中的字体大小从 px 更改为 em【英文标题】:Change font-size in auto-generated HTML from px to em using javascript 【发布时间】:2013-01-13 20:53:28 【问题描述】:

我有一个从我无法控制的 Web 服务生成的 HTMLHTML 的字体大小为 pxpt。我的要求是将所有字体大小更改为em

这是我尝试过的:

我尝试使用以下方法访问所有 <font> 标签:

document.getElementByTagName('font').style.fontSize;

但是,即使我在 HTML 中有很多字体标签,它也会返回 null

我阅读的所有相关资料都假设我们可以控制CSSHTML,因此不适用于我的问题。

简而言之,我想解析 HTML 并找到所有内联样式(字体大小)并从任何其他类型更改为 em

【问题讨论】:

您是否尝试过像这样在字体标签中的父标签...#parent fontfont-size:1em !important; 【参考方案1】:

如果样式是 HTML,那么它就是内联样式。没有 CSS Wizardry 会覆盖它。您需要做的是直接修改内联样式。

这就是您要查找的内容:

var elem = document.getElementById("elementID");
elem.setAttribute("style", "font-size: 2em");

setAttribute 在 IE 中会出现问题,所以如果这是一个问题……你需要编写一个后备来处理它。

【讨论】:

【参考方案2】:

试试document.getElementsByTagName.......你忽略了s :)

【讨论】:

啊。抱歉,这就是抛出 null 的原因。【参考方案3】:

您的方法的问题是您试图更改整个节点列表的样式。

当您调用 getElementsByTagName 时,您不会返回单个元素。您需要遍历节点中的元素,然后在每个元素上使用 elememt.style.fontSize = size;

这是一个实现http://jsfiddle.net/Kfd2R/的小提琴

【讨论】:

谢谢...我明白了这一点并修改了我的代码。它现在可以正常工作,就像您创建的小提琴一样。但是,是否建议使用这种 px 到 em 的转换?我不确定并正在寻找替代方法。 通常建议使用 em 或 percent。在设置 px 字体大小时可能会遇到一些问题。一种相当流行的做法是,将文档正文中的字体大小设置为 62.5%,然后使用 em 来调节特定元素的字体大小。您可以尝试的一种方法是剥离内联样式,然后注入您自己的自定义样式表。这样您就可以控制页面上的所有样式。

以上是关于flexiblejs中的字体可以不使用px吗的主要内容,如果未能解决你的问题,请参考以下文章

网站手机端最小字体是.16rem吗

Photoshop pt 和 css 像素

ps中字体大小的单位代表字体的啥?

PS字体小于12px就看不清了 怎么办

CSS3可以转换字体大小吗?

rem布局中需要引入啥js吗