摘要:有時候我們在寫頁面中,會發(fā)現(xiàn)絕對定位的父級元素已經(jīng)相對定位了,但是在不同分辨率的電腦下,絕對定位還是會錯亂,似乎父級的相對定位并沒有起了作用。
有時候我們在寫頁面中,會發(fā)現(xiàn)絕對定位的父級元素已經(jīng)相對定位了,但是在不同分辨率的電腦下,絕對定位還是會錯亂,似乎父級的相對定位并沒有起了作用。
筆記本電腦的分辨率一般為1366768附近,PC電腦的分辨率一般為 19201080;
此鏈接為常見電腦分辨率:http://blog.csdn.net/liyuanbh...
當(dāng)寫網(wǎng)頁時,如果在1920這樣的大分辨率寫好之后,再去小分辨率的筆記本看同樣的這個網(wǎng)頁,會發(fā)現(xiàn),筆記本電腦顯示的基本為寬屏大顯示器下網(wǎng)頁放大至1.5倍左右的展示效果。
解決辦法:
1.安全寬度:
為了頁面在不同的分辨率下正常顯示,要給頁面一個安全寬度,一般在做1920px寬的頁面時,中間要有一個1200px左右的安全寬度,并且居中,所有的內(nèi)容要寫在這個寬度的box里,如果有背景圖或者輪播圖必須通欄整個頁面的時候,一定要設(shè)置成居中對齊,這樣當(dāng)分辨率降低之后,背景圖或者Banner圖左右、中間1200寬度的盒子依然居中對齊,不會出現(xiàn)向左向右偏離。
盒子里的div等小盒子可以用百分比來表示,來達(dá)到頁面自適應(yīng)。
在布局頁面結(jié)構(gòu)的時候,一些盒容器是必不可少的,比如1200px安全寬度的div。
例如:做一個活動頁面,其中這個頁面背景為一個大圖,在這個大圖上要放一些小圖來與大圖實現(xiàn)定位,絕對不能以大圖直接作為背景!
而是在放大圖背景的div里繼續(xù)放一個安全寬度div,再把它作為父元素做相對定位,給里面的子元素做絕對定位,這樣就不會出現(xiàn)不同分辨率下絕對定位錯亂的問題了。
2.絕對定位的使用:
絕對定位的時候,該元素的父元素一定要記得設(shè)為相對定位,這樣在不同分辨率下定位才不會錯亂,但是前提是這個父元素在一個安全的寬度里面,如果這個父元素本身是一個會因為分辨率降低而改變的元素,則定位一定會跟著亂。
3.zoom屬性或transform:scale(x,y)
通過總結(jié)網(wǎng)友經(jīng)驗,通過加zoom屬性,可以讓頁面某個區(qū)塊根據(jù)分辨率不同進(jìn)行自動縮放到合適區(qū)域,但是有個bug,就是火狐瀏覽器打死都不支持這個屬性,即使用transform:scale(x,y);屬性也于事無補(bǔ)。還有一個小問題,在頁面加載慢的時候重新刷新頁面會先顯示放大的效果,再變?yōu)榭s小后的效果,會閃一下,這個還沒找到解決辦法,希望懂的朋友們多多交流。
zoom代碼如下:
$(function(){ var w=window.screen.width; var zoom=w/1920; $("#container").css({ "zoom",zoom, "transform":"scale("+zoom+")" }); })
結(jié)果是:除了firefox以外,其他瀏覽器可以正常支持zoom屬性,并且頁面需要縮放的區(qū)塊整體縮放到了適應(yīng)當(dāng)前分辨率的效果,而transform:scale 則是先把頁面顯示為已經(jīng)把原本頁面放大后再使用scale,則該縮小相當(dāng)于當(dāng)前頁面下縮小的效果了,兩邊自然會留白。
PS:我覺得zoom屬性蠻好用的,怎么現(xiàn)在都不怎么用了呢,居然firefox還不支持,而且很難找到解決辦法。所以只能好好改變自己代碼結(jié)構(gòu),提高代碼的嚴(yán)謹(jǐn)性了,寫出高效高兼容的代碼,是每一個前端義不容辭的責(zé)任。
【該文章整合網(wǎng)友意見與經(jīng)驗總結(jié)所得】
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/51471.html
摘要:有時候我們在寫頁面中,會發(fā)現(xiàn)絕對定位的父級元素已經(jīng)相對定位了,但是在不同分辨率的電腦下,絕對定位還是會錯亂,似乎父級的相對定位并沒有起了作用。 有時候我們在寫頁面中,會發(fā)現(xiàn)絕對定位的父級元素已經(jīng)相對定位了,但是在不同分辨率的電腦下,絕對定位還是會錯亂,似乎父級的相對定位并沒有起了作用。 筆記本電腦的分辨率一般為1366768附近,PC電腦的分辨率一般為 19201080;此鏈接為常見電...
摘要:有時候我們在寫頁面中,會發(fā)現(xiàn)絕對定位的父級元素已經(jīng)相對定位了,但是在不同分辨率的電腦下,絕對定位還是會錯亂,似乎父級的相對定位并沒有起了作用。 有時候我們在寫頁面中,會發(fā)現(xiàn)絕對定位的父級元素已經(jīng)相對定位了,但是在不同分辨率的電腦下,絕對定位還是會錯亂,似乎父級的相對定位并沒有起了作用。 筆記本電腦的分辨率一般為1366768附近,PC電腦的分辨率一般為 19201080;此鏈接為常見電...
摘要:空元素,主要講下可算內(nèi)聯(lián)元素,因為可與其他元素同行,且寬高對其起作用。提示對內(nèi)聯(lián)元素寬高起作用,請使用談?wù)剬Χㄎ坏睦斫馍山^對定位的元素,相對于定位以外的第一個父元素進(jìn)行定位。 Html 1.解釋 ,主要從utf-8展開,utf-8是一種字符編碼,該編碼是全世界通用的,意思是假如項目涉及多語言,那么只能使用該編碼方式。 是使用html5文檔類型。告知瀏覽器的解析器,用什么文檔類型 ...
摘要:空元素,主要講下可算內(nèi)聯(lián)元素,因為可與其他元素同行,且寬高對其起作用。提示對內(nèi)聯(lián)元素寬高起作用,請使用談?wù)剬Χㄎ坏睦斫馍山^對定位的元素,相對于定位以外的第一個父元素進(jìn)行定位。 Html 1.解釋 ,主要從utf-8展開,utf-8是一種字符編碼,該編碼是全世界通用的,意思是假如項目涉及多語言,那么只能使用該編碼方式。 是使用html5文檔類型。告知瀏覽器的解析器,用什么文檔類型 ...
摘要:影響著其中元素的尺寸和定位。在標(biāo)準(zhǔn)中,元素的稱為。當(dāng)?shù)膶挾雀叨仁褂冒俜謹(jǐn)?shù)的值時,這個百分?jǐn)?shù)的基準(zhǔn)就是的尺寸。例子其中就溢出了的區(qū)域。造成以上不同的原因是,在桌面端的縮放和在移動端的縮放有不同的性質(zhì)。這兩個數(shù)值的單位是設(shè)備獨立像素。 前言 本篇文章修改、整理自我以前寫的一篇文章。 在閱讀這篇文章之前,你需要了解設(shè)備像素、邏輯像素(設(shè)備獨立像素)和CSS像素的區(qū)別,見我的前一篇文章理解設(shè)備...
閱讀 2123·2021-09-06 15:02
閱讀 1745·2021-08-13 15:02
閱讀 2308·2019-08-29 14:14
閱讀 1469·2019-08-26 13:55
閱讀 555·2019-08-26 13:46
閱讀 3407·2019-08-26 11:41
閱讀 520·2019-08-26 10:27
閱讀 3269·2019-08-23 15:28