android - 为什么不使用 PT 作为字体和元素大小的单位?

标签 android css jquery-mobile font-size

我正在使用 jQueryMobile 和 PhoneGap 开发一个跨平台的移动应用程序。我的第一个目标平台是 Android。

对于Android应用,建议开发者使用dp作为字体大小的单位。 DP代表密度无关像素。使用它意味着无论屏幕密度如何,您的字体在屏幕上都具有相同的物理尺寸(以英寸、厘米或其他单位为单位)。

太好了。现在我想知道:如果我在 dp 中指定所有内容,就像 Android 所希望的那样,其他浏览器平台会支持这个单位吗?我想不会。

这让我想知道将字体设置为物理绝对大小的旧方法(或变通方法)有什么问题:

<强>1。 PT:1 pt 是 1/72 英寸。

所以它是物理上的绝对尺寸,对吧?这听起来好得令人难以置信。如果这在所有浏览器和设备上都可靠且受支持,为什么还要做其他事情?

<强>2。 EM:一个 em 定义为文档的字体大小。

因此对于 PT,大小从一开始就是绝对的。使用 em 作为字体大小单位,我只需要设置文档的字体大小以使其适合屏幕(我可以为此使用 Javascript)。如果在 em 中指定了所有其他内容,我就完成了。对吧?

<强>3。 jQueryMobile* 同时,我使用 CSS 媒体查询来检测屏幕的宽度、高度和密度,并使用它们为元素设置基本字体大小。之后,所有字体尺寸都以 em 为单位。很多帖子建议 em 应该只用于字体,但如果您的应用程序/网站都是关于文本的,那么对所有包含文本的元素设置 em 尺寸不是有意义吗?

<强>4。或者……

“桌面”浏览器和 iOS 是否也支持 dp?

最佳答案

我对 PhoneGap 不太熟悉,但我对它的理解是它是一个运行 html/css/js 的框架,您在手机的内置浏览器 (webview) 中编写。因此,它允许您创建一个运行起来就像原生 Android 应用程序一样的 html5 应用程序。

dp 单位仅适用于使用 native Android 控件的 native 应用程序,因此无法从网页或 Web 应用程序访问它。

由于您正在编写 HTML5 应用程序,因此您应该坚持使用网络技术来指定所有尺寸,并使用媒体查询来检测屏幕密度并根据您的需要调整尺寸。

关于android - 为什么不使用 PT 作为字体和元素大小的单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9289714/

相关文章:

java - 从广播接收器 android 调用 AsyncTask

javascript - 如何在百分比宽度非常小的段之间渲染 1px 的装订线?

javascript - 将图像代码更改为 @2x 版本以用于高 DPI 显示

java - 如何在Android中调用另一个类的一个方法

Android activity-远程服务aidl双向连接

android - appcompat-v7 :28. 0.0-rc01 构建问题

css - WP 如何使用 CSS 类自定义特定的缩略图大小

jquery-mobile - 了解 jQuery Mobile Swipe 配置变量

css - 用于移动网络应用程序的 HTML 和 CSS 锁屏

jQuery Mobile 滚动到焦点元素