iPhone 4的一个 CSS 像素实际上表现为一块 2×2 的像素。所以图片像是被放大2倍一样,模糊不清晰。
解决办法:
1、页面引用
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 2.0)" href="retina.css" />
2、CSS文件里
#header {
background:url(mdpi/bg.png);
}
@media screen and (-webkit-device-pixel-ratio: 1.5) {
/*CSS for high-density screens*/
#header {
background:url(hdpi/bg.png);
}
}
/* 常用类型 */
类型 解释
all 所有设备
braille 盲文
embossed 盲文打印
handheld 手持设备
print 文档打印或打印预览模式
projection 项目演示,比如幻灯
screen 彩色电脑屏幕
speech 演讲
tty 固定字母间距的网格的媒体,比如电传打字机
tv 电视
screen一般用的比较多,下面是我自己的尝试,列出常用的设备的尺寸,然后给页面分了几个尺寸的版本。
/* 常用设备 */
设备 屏幕尺寸
显示器 1280 x 800
ipad 1024 x 768
Android 800 x 480
iPhone 640 x 960
两种方式
.class { background: #ccc; }}
@media only screen and (device-aspect-ratio:4/3)
-webkit-min-device-pixel-ratio的常见值对比(是设备上物理像素和设备独立像素,设备像素比率)
设备 | 分辨率 | 设备像素比率 |
Android LDPI | 320×240 | 0.75 |
Iphone 3 & Android MDPI | 320×480 | 1 |
Android HDPI | 480×800 | 1.5 |
Iphone 4 | 960×640 | 2.0 |
-webkit-min-device-pixel-ratio: 1.0
-webkit-min-device-pixel-ratio: 3.0
1.HTC Butterfly
(min-resolution:144dpi)
<resolution>(分辨率)
“resolution
”媒体特性描述输出设备的分辨率,例如,像素密度。若查询设备的非方形像素,在“min-resolution
”查询中指定的值必须与最稀疏尺寸进行比较,在“max-resolution
”查询中必须与最密集尺寸进行比较。对于“resolution
”(没有“min-”或“max-”前缀)查询从不查询设备的非方形像素。
对于印刷机,相当于分辨率(任意颜色的绘制点的分辨率)。
举例说明:该媒体查询表示样式表适用于分辨率大于每英寸144点的设备:@media print and (min-resolution: 144dpi) { … }