Mobile Web in High Resolution
bradbirdsall.com
bradbirdsall.com
CSS should accept decimal values for border width, like it already does for other properties.
When I do mobile web, I use percentages for UI layout elements (like headers, footers, sidebars, etc), and pixels for text, buttons, etc.
This approach definitely results in a slightly different display on different screen resolutions, but the overall effect is that it looks good and is usable no matter where you view it. For me, this is the approach I've found that "just works", so I keep using it.
That said, I don't think I've ever seen centimeters and inches used in any CSS I've come across, but I'd love to see some examples that are well done.
It's just different. No one says they have to be identical, and IMHO the original does not look bad on an iPhone screen.
CSS1 says "Pixel units are relative to the resolution of the canvas, i.e. most often a computer display. If the pixel density of the output device is very different from that of a typical computer display, the UA should rescale pixel values." http://www.w3.org/TR/2008/REC-CSS1-20080411/#length-units
Apple's explanation of their implementation: http://www.webkit.org/blog/55/high-dpi-web-sites/
There was intense discussion at the time, but ultimately this rule exists for a reason and is beneficial in virtually all situations.
"device pixel": what the screen reports is a pixel. Usually it's a square containing red, green, and blue, but not if you use a PenTile display.
"CSS pixel" is what widths and clientX are measured in. Interestingly, the CSS spec has always defined a CSS pixel relative to the angle you'd get if you read it, but browsers always treated them as device pixels until they implemented full page zoom. (aka logical pixel in IE8)
"screen pixel" (system pixel in IE8) is the unit in which window.screenX is measured. It's what CSS pixel would be at 100% zoom. Mozilla is trying to end the insanity by removing this different measure.
http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_n...
Personally, I think his "wrong" 2x example looks much better than the "fixed" one. The top inner border highlight is practically invisible on the latter, and the border around the button is fairly hard to see.