2010-03-11 128 views
1

我剛剛得到進入網絡的發展十分重視,我試圖讓出現相同的物理尺寸(英寸)的網頁在所有瀏覽器和平臺 我相信百分比值的組合和英寸的值可以使一致的用戶界面。HTML元素的物理尺寸

我自己的系統是具有1920x1200像素即144DPI的15.4英寸屏幕。

這裏最簡單的HTML代碼,無法顯示正確的大小上不同之處的FireFox任何瀏覽器(試圖在Chrome 3,4,歌劇10.5,IE7)

<html><head> 
<body> 
<div 
style="position:absolute; width:2in; height:1in; border:1px solid" > 
hello world</div> 
</body></html> 

鉻,歌劇和IE渲染.67英寸盒(他們似乎假定一個96 dpi屏幕)

我運行Windows XP,但我不明白爲什麼會有所作爲。我測試過的其他機器上類似的錯誤渲染。

我想,當我說「1英寸」在HTML這意味着在現實世界中一個實際英寸....

如何處理呢?

由於提前, 維韋克

編輯:

在2006年,我開發了還活着的視頻編輯一個網站的ActiveX控件,在2008年,我們開始看到大量的Vista上使用和更高的DPI屏幕,其使得用戶界面無法使用,我重新編寫了應用程序,以便根據DPI縮放所有內容,從那時起每個人都很高興他們不需要使用該功能的眼鏡......

Win7和Vista有這個「 DPI縮放「模式是爲了允許不識別DPI的應用程序顯示(但自從它基本上擴大了應用程序的畫布,應用程序看起來模糊)。

我不能相信,調用GetDeviceCaps()或X-Windows平臺上類似的比硬編碼96 DPI更難。反正它難道不影響以像素爲單位測量的任何頁面....

+0

短寫屏幕標尺我不知道你爲什麼要這樣做? – 2010-03-11 11:51:57

+1

它看起來像我來自你來自印刷背景。網站遵循完全不同的原則,最好是讓自己的思維適應新的範式,而不是試圖迫使它去做以前的習慣。我還沒有看到一個試圖使用英寸來設置尺寸的網站。 – dbemerlin 2010-03-11 11:58:24

回答

0

我真的不認爲你可以,說實話。

屏幕的DPI是由硬件決定的,即15.4" 屏幕採用1920×1080分辨率= 144DPI。

爲什麼你需要的網站顯示爲相同的物理尺寸是多少?當然同樣大小成比例如果我使用1600x1050,它應該佔用60%?

1

而不是在px中給出大小你只是給它的百分比,以便它可以根據百分比適合在任何屏幕上

0

總之 - 你不能,ü至少在屏幕上。

使用真實世界的單位取決於讓客戶知道系統的正確DPI。在不打擾的客戶和沒有正確配置的系統之間,這是一個無望的情況。

如果您希望進行某種比例縮放,以便用戶系統的尺寸合理,那麼您最好使用em單位根據用戶的字體大小進行縮放。這仍然存在問題,即默認值不合適並且用戶沒有更改它們,但是它比物理單元更經常。

4

無法完成。期。

屏幕是一個像素的網格,這是只有單位的物理顯示器識別。任何其他測量必須轉換爲像素進行顯示。

此轉換由操作系統的圖形子系統完成,該子系統具有內部「DPI」設置 - 因爲它是任意的,並不一定對應於任何真實世界設備的實際物理DPI。例如,Windows無論連接到哪個顯示器,都默認爲96 DPI。

看的東西與「1英寸」的高度的頁面,你的機器在它看來,計算出,因爲它被設置爲144 DPI,「1英寸」是指144個像素,並使其144個像素高,而不管這144個像素將在您的顯示器上佔用的物理距離。

當具有默認96 DPI設置的典型Windows用戶查看它時,他們的計算機會計算出「1in」= 96px,並使其高度爲96像素,而不管與這些96像素對應的物理距離如何。

你知道嗎? 這是一件好事。這意味着視力不佳的用戶可以降低其視頻驅動程序的DPI設置,並且以英寸,釐米,點,em或其他「真實世界」單位(即基本上除百分比或像素以外的其他任何物體)以便他們更容易看到它。相反,我們這些不介意小文本的人可以人爲地增加我們的DPI設置來縮小這些設置並將更多內容放到屏幕上。

打印頁面的暴政,無論我們喜歡與否,都強制事物達到一定的大小,不再是。擁抱這種能力,讓您的用戶體驗他們的體驗。不要試圖取消 - 你不會成功,你只會在這個過程中惹惱別人。

+0

Windows的默認設置爲96 DPI,但可以將其設置爲「顯示屬性」上的任何內容。 我寫了很多本機應用程序,我檢測系統的DPI(由windows定義)並縮放我的GUI和字體。 我認爲所有的瀏覽器都應該這樣做,我要說的就是Firefox能做到這一點!其他瀏覽器不 - 在我的系統上,8點文本太小,無法閱讀,如果以英寸爲單位指定網頁,那麼我不必縮放它們。 GetDeviceCaps()API檢索用戶提供的DPI,那麼難以使用該值而不是硬編碼的96? – 2010-03-12 04:34:36

+0

至於固定大小的暴政 - 一個40像素高的文本框,在我的系統上看起來很正常,在96 DPI上看起來很可怕,即使我以百分比的方式指定它,標籤佔我屏幕高度的2%在較低的DPI系統上看起來超大...... 您希望如何看到漂亮的16磅文字作爲默認文件,只是因爲這是我的系統上的可讀尺寸。 如果用戶想要更大的尺寸,所有瀏覽器都有可用的縮放功能。 當然,面板應該按百分比按比例分配,但肯定不會有任何帶有文本的控件。 – 2010-03-12 04:39:01

+0

未檢測到系統DPI是一個應用程序問題,任何GUI工具包(在我看來都包括呈現的HTML佈局)應該考慮到這一點。使用字體大小作爲一種措施是一個愚蠢的解決方案,我不希望所有的圖形用戶界面都被炸掉,只是因爲我增加了一兩個點的默認字體大小.... – 2010-03-12 04:41:06