W3C home > Mailing lists > Public > www-style@w3.org > January 2010

Re: Making pt a non-physical unit

From: Brad Kemper <brad.kemper@gmail.com>
Date: Mon, 18 Jan 2010 08:48:08 -0800
Message-Id: <520F09DD-4009-410A-BD2A-7724D1709FBB@gmail.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>
Cc: "robert@ocallahan.org" <robert@ocallahan.org>, www-style <www-style@w3.org>


On Jan 15, 2010, at 10:33 PM, "Tab Atkins Jr." <jackalmage@gmail.com>  
wrote:

> If you're on a 140dpi screen, and have a mere 1024px resolution,
> you're looking at a pretty small screen.  You, the user, would
> probably appreciate mapping a CSS pixel to multiple device pixels.
> Though, at 140dpi the jury's still out.  I suspect we'll stay with a
> 1-1 mapping until a decent bit past the halfway point, just because of
> inertia.
>
> Do you think this is somehow maintainable?  What about when screens
> are 300 dpi?  1000dpi?  Do you still expect 1 CSS px to be one device
> pixel?  I expect that would render most current webpages unreadable.
>
> We all know that transitioning from a 1-1 mapping to a 1-2 mapping
> will be painful.  It's the largest transition of all; how could it not
> be?  That doesn't mean it's not necessary, or the correct course of
> action.

I'm not against the UA picking a default zoom level (such as the way  
the iPhone defaults to something like "fit width", but on a 192dpi  
desktop display might default to "200%" or "2x2 device pixels per CSS  
pixel"). I am only saying that it should be something that the author  
should be able to set too, via a property value, just as the user can  
do currently (via browser's zoom menu, or by pinching, etc.). So  
instead of having one zoom control that makes CSS pixels change size,  
plus a separate built-in thing that renders the CSS pixels at a  
certain size based on screen resolution, that the two functions are  
integrated.

>
>> I understand the reasoning of the current definition of px, and  
>> after thinking about it I think it may help to simply deal with  
>> those "2 device pixels = 1px" situations as **zoom**. Thus, "(1px:1  
>> pixel ratio) = zoom:1" and "(1px : 2 pixel ratio) = zoom:2". Then  
>> when we provide that guidance about "0.0213 degrees" pixel sizes,  
>> we can say that whenever one device pixel would be bigger or  
>> smaller than 1px (after rounding to nearest integer), then a 'zoom'  
>> should be used to indicate this difference, and the user should  
>> have clear controls for changing the zoom level. Then, if the  
>> author really wants the one to one relationship for their page,  
>> they can set something like this:
>>
>> body { zoom:1; }
>>
>> That authored zoom level should then be reflected in any UA menu  
>> that showed the zoom level, and the user could override it if they  
>> want.
>
> I don't think that's a solution that will stand the test of time.
> That means that, on the future 1000dpi screens, 1in will translate to
> roughly 10 inches of screen real-estate.

How do you figure? I am not changing the relationship of CSS pixels to  
inches in a way that's different from what you proposed, only how it  
is reflected in the user interface (since we are talking about giving  
guidance), and in a property that yields some author control. So for  
those situations when the author wants tightly packed pixels at any  
resolution, they can set a default, which a user or child element can  
override.

>
Received on Monday, 18 January 2010 16:48:55 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:23 GMT