1
dimlau 2010-11-23 00:54:58 +08:00
是不是四舍五入的问题?
没有手持设备的飘过…… |
2
lianghai OP @dimlau 应该是 Safari 对数字直接取整的问题……但在 Retina display 上不应该是 1 CSS px = 2 device px 么……它应该在转换为 device px 再去取整啊……我是真不想用图片来做这种简单的边框……
|
3
Sai 2010-11-23 02:19:55 +08:00
应该是行不通的,Retina Screen下Webkit渲染这些线条会自动把1px按2px渲染
|
5
Livid MOD 如果实在要追求这个效果,可以用 PNG……
|
6
Livid MOD 实现方法参考 V2EX 的 retina logo。
|
7
lianghai OP |
8
diamondtin 2010-11-23 09:33:08 +08:00
retina display下的iDevice的device-pixel-ratio是2,也就是说1px会显示成2个设备像素宽。所以理论上来说在没有缩放(scale)的情况下,1px的点是4个像素。
这样,在不缩放时1px在iphone4和iphone3上显示的效果一致。 比较讨巧的是如何对于不同设备使用不同密度的图片。此时可以使用media query,-webkit-min-device-pixel-ratio: 2)来link不同的css。 如果想保证1px不被缩放,可以使用viewport的meta固定scale,V2EX就在使用“initial-scale=1.0; maximum-scale=1.0;”。 |
9
diamondtin 2010-11-23 09:36:11 +08:00
忘记说了,1pt是1个point。1point是1/72英尺,这个css unit一般用在印刷样式上面。
see: http://www.w3schools.com/css/css_units.asp |
10
lianghai OP @diamondtin 其实您说的应该是 1 pt = 1/72 inch 吧,“inch”其实是“英寸”。
另外如果您看一下我的代码就会知道我一直是在用 media query 来为 iPhone 4 指定 CSS 的... 我记得为了尝试一个别的效果而用过 viewport 的这个 scale 属性,不过没有出现 pixel-ratio=1 的效果,或许是我其他地方弄错了,晚上试试。多谢提醒〜 |
11
ilexswam 2010-11-23 14:51:34 +08:00
|
12
lianghai OP @ilexswam 哇!这个思路好!而且这样就不用为桌面版本的全尺寸预览和 Retina 版维护两套 CSS 了,多谢。
|
13
lianghai OP |