gpt4 book ai didi

android - CSS:适用于各种移动设备的字体大小、物理按钮高度

转载 作者:行者123 更新时间:2023-11-28 19:01:31 24 4
gpt4 key购买 nike

我正在开发一个在 iPhone 和各种 Android 手机上运行的网络应用程序。我用过iUI framework迄今为止。 iUI 是为 iPhone 3 设计的,使用 CSS 中的像素来设置字体大小、行高等。但结果在具有高像素密度(240 x 320 像素,2.8 英寸 = 143dpi)的较新三星 I5500 上无法使用。所有的元素都太小了。这可以在浏览器设置 > 缩放 > 关闭中得到部分补偿,但我不喜欢让用户更改他们的浏览器设置。

我的目标是,每个链接和每个按钮都可以通过触摸舒适地使用。为此,我想确保元素的最小物理尺寸。幸运的是,CSS 2.1 规范为此提供了一种方法:min-height: 20mmmin-height: 0.8in。不幸的是,我拥有的每部电话都忽略了该声明。在 iPhone 3GS 上,该元件尺寸为 11 毫米,在三星 I5500 (Andorid 2.1) 上为 10 毫米,在具有低分辨率显示屏的 HTC Wildfire (Android 2.2) 上为 14 毫米。看起来 WebKit 浏览器假定一些低分辨率,如 96dpi,呈现元素在高分辨率手机显示器上几乎不可读和几乎不可点击。

blog post at sencha提供了一些解决方法,建议设置 em 中按钮、链接、列表项的所有大小,并通过某种浏览器嗅探来移动一次 body 的大小。

他们还提到了 CSS3 媒体查询,但告诉我们它目前不起作用:

@media screen and (min-resolution: 160dpi) {
body {
font-size: 114%;
}
}

安卓

<meta name="viewport" content="target-densitydpi=low-dpi" />

似乎有帮助。它在具有高 dpi 的设备上比在设备上放大页面更多低dpi。但是元素的物理尺寸仍然不同。另见 Android WebView .

Android DisplayMetrics密度与 scaledDensity 的文档带来更多的模糊而不是澄清。

到目前为止,我为 iPhone 和 Android 找到的最佳组合是 iUI 加上 HTML 头中的以下声明:

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;target-densitydpi=low-dpi;"/>

是否有一种现代、优雅的方式来为各种移动设备设置字体大小和按钮宽度和高度?

或者您使用哪种解决方法?

最佳答案

我认为您的答案是使用 EM 单位而不是像素单位。

http://www.w3.org/WAI/GL/css2em.htm

它是一种比例单位。这样您就不会将字体和按钮的大小指定为固定数字,而是指定为该设备默认字体的乘数。

无论如何,这是网站管理员可访问性的最佳实践,也是为什么大多数框架都是邪恶的!! :D

关于android - CSS:适用于各种移动设备的字体大小、物理按钮高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5563492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com