2010-11-09 100 views
0

我建了一個網站。我爲所有div標籤使用了液體佈局。它的工作正常。我面臨的問題是,當我從1024 * 768降低屏幕分辨率到800 * 600時,文本大小並未減小;一個div中的文本與另一個div中的文本重疊。我提到了像素中文字的大小。誰能告訴我如何解決這個問題。網站佈局問題

+0

這與PHP有什麼關係? – Hamish 2010-11-09 02:11:32

+0

您的網站是否需要在800x600可見?我們發現,在一個擁有數百萬次訪問量的網站上,在一年的時間內,該決議的用戶數量不足100人。 – 2010-11-09 02:36:19

回答

1

文字大小不會隨其容器的比例縮小。您可以在此容器上設置overflow: auto;,並且它將滾動它內部的內容(當它不適合時),而不是讓它重疊。

0

如果問題是你的文字不縮水;只需添加一些JavaScript功能以減少窗口縮小時的文字大小。如果你必須這樣做你的網站才能正常工作,那麼,夥計們,重新設計網站...

+0

重新設計網站意味着我應該使用固定佈局 – sudh 2010-11-09 02:15:23

+0

不一定,但重新設計您的網站,以便它可以處理常見的解決方案。如果要做到這一點的唯一方法是使用固定佈局,那麼你應該盡一切辦法。 – Ben 2010-11-09 02:30:08

+0

如何使用[這些單位](http://snook.ca/archives/html_and_css/vm-vh-units)? – alex 2015-04-17 01:41:20

0

查看Javascript的window.screen usage;你應該能夠檢測到它們的分辨率,並執行一個函數來設置起始字體大小。我不是一個JavaScript大師,但它會是這個樣子......

document.onload = initTextSize; 

function initTextSize() { 
    var width = screen.width; 
    var height = screen.height; 

    if(width<=800 && height<=600) { 
     document.getElementByTagName("head").innerHTML('<style type="text/css">body { font-size : 1em; }</style>'); 
    } 
    else if(width<=1024 && height<=768) { 
     document.getElementByTagName("head").innerHTML('<style type="text/css">body { font-size : 1.6em; }</style>'); 
    } 

} 

我知道你可以用一個開關/功能的情況下做到這一點,但是這僅僅是我的,你怎麼粗略估計」用Javascript去解決它。我認爲innerHTML 將取代的內容(至少在某些瀏覽器中),而您希望新內容添加到您現有的樣式表中。

另外,您可能想要考慮屏幕大小的變化 - 或者誰知道...在文檔加載上可能不是調用該函數的最佳方式,但這應該指向正確的方向。