版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
如何解決PC端和移動端自適應(yīng)問題?做網(wǎng)頁時,我們通常需要考慮到不同電腦屏幕尺寸,以及不同手機屏幕大小等問題,解決樣式發(fā)生改變的情況,那么如何解決呢?現(xiàn)在主要是采用自適應(yīng)來解決高度,寬度的,以及圖片自適應(yīng)問題,下面就PC端和移動端來總結(jié)一下,通常進(jìn)行自適應(yīng)高度和寬度,圖片時,一般與頁面的布局存在關(guān)系。1、最小尺寸分辨率1024*768(傳統(tǒng)17寸顯示器),則可以采用940px、960px、或者常用的980px作為最小寬度2、1024*768之后稍大的分辨率就是1280*768了,則可以采用1200px或者1220px作為稍大的網(wǎng)頁寬度3、支持css3、html5的高級瀏覽器可以利用CSS3MediaQueries讓網(wǎng)頁在不同分辨率下自動調(diào)節(jié)布局標(biāo)簽4、不支持css3、html5的腦殘瀏覽器特別是<=ie8系列則需要用js以及resize事件來控制html的布局標(biāo)簽寬度了5、寬度自適應(yīng)需要對每個顯示模塊進(jìn)行不同寬度的計算,在做html布局時需要大量的計算與適配。6、寬度自適應(yīng)為不同寬度顯示器寫布局元素時常用的css下面我們看下,如何用js和css來自適應(yīng)屏幕的大小。一:了解高度和寬度的基礎(chǔ)下面用圖片來說明:網(wǎng)頁可見區(qū)域高寬為:document.body.clientHeight||document.body.clientWidth網(wǎng)頁正文的區(qū)域高寬為:document.body.scrollHeight||document.body.scrollWidth(包括滾輪的長度)網(wǎng)頁被卷去的上左區(qū)域:document.body.scrollTop||document.body.scrollLeft二:css自適應(yīng)高度1.兩欄布局,左邊固定,右邊寬度自適應(yīng)方法一:
//html部分
<divid="left">左邊</div><divid="bodyText">正文</div>//css部分
*{margin:0;padding:0}
#left{float:left;width:200px;background:red;}
#bodyText{margin-left:200px;background:yellow;
方法二:
//html部分
<divid="left">左邊</div>
<divid="body">
<divid="bodyText">正文</div>
</div>
//css部分
#left{float:left;width:200px;background:red;margin-right:-100%;}
#body{width:100%;float:left;}
#bodyText{margin-left:200px;background:yellow;}2.三欄布局,兩邊定寬,中間自適應(yīng)寬度方法一:
<divid="left">左邊</div>----注意和div的位置有關(guān)系<divid="right">右邊</div><divid="center">中間</div>
//css部分
#left{width:200px;background:red;float:left;}
#center{width:auto;background:blue;}
#right{width:200px;background:yellow;float:right;}
方法二:
html部分:
<divid="body">
<divid="center">中間</div>
</div>
<divid="left">左邊</div>
<divid="right">右邊</div>
css部分:
#body{width:100%;float:left;}//設(shè)置浮動和width:100%
#body#center{background:red;margin-left:200px;margin-right:300px;}//margin-left:100%的使用方法
#left{width:200px;background:yellow;margin-left:-100%;float:left}
#right{width:300px;background:blue;margin-left:-300px;float:left}
-----如果設(shè)置為margin-left:-100%,則會跑到body的左邊。
-----如果設(shè)置為margin-left:-300px(即right的寬度),則會跑到body的右邊3.關(guān)于最小寬度和最大寬度這里依然結(jié)合布局來看,如下面的代碼:自適應(yīng)寬度,從而改變布局。//html部分
<divid='container'><divclass='one'></div><divclass='two'></div><divclass='three'></div></div>//css部分#container{width:100%;}.one{width:20%;background:red;}.one,.two,.three{float:left;height:100px;}.two{width:60%;background:yellow;}.three{width:20%;background:blue;}@media(max-width:800px){--如果瀏覽器小于800px.one{width:40%;}.two{width:60%}.three{width:100%}}@media(max-width:400px)--如果瀏覽器寬度小于400px{.one{width:100%}.two{width:100%}.three{width:100%}}理解什么叫最小寬度和最大寬度,最小寬度指為元素設(shè)置的最小寬度,到達(dá)最小寬度后,縮放文本不會起到任何作用最大寬度是所有元素所能達(dá)到的一個上限,不能再繼續(xù)往上增加。三:css處理自適應(yīng)高度//html部分代碼<divid="fit"></div>//css代碼html,body{margin:0;height:100%;}#fit{width:200px;background:yellow;height:100%;border:1pxsolidred;}
--這里同時給html和body加樣式,是為了兼容各大瀏覽器。
IE處于混雜模式時,body以窗口為高度參照,body設(shè)置為100%就可以使得頁面和窗口一樣高,body里面的嵌套div也可以擴展到窗口高度,
這樣的話可以使布局適應(yīng)瀏覽器窗口大小。窗體》body》div(html,body{overflow:scroll}一層滾動條)但是當(dāng)處于標(biāo)準(zhǔn)模式時,body以html標(biāo)簽為高度參照,html標(biāo)簽才以窗口為參照,所以僅僅body100%,并不能使它的子div100%占據(jù)整個屏幕
還要使得html100%使得html獲得窗口大小才行。窗體》html》body》div(html,body{overflow:scroll}兩層滾動條,html的滾動條從來不會用到)父級隨子級高度變化而自適應(yīng)變化與子級隨父級高度變化而變化<divid="fj">我是父級<divid="zj1">我是子級1</div><divid="zj2">我是子級2</div></div>
//css部分
#fj{border:4pxsolidred;}
#zj1{border:2pxsolidyellow;}
#zj2{border:2pxsolidblue;}----這種情況下,父級高度隨著子級div的高度自適應(yīng)的改變?nèi)绻觗iv使用了float屬性,此時已經(jīng)脫離標(biāo)準(zhǔn)流,父div不會隨內(nèi)容的高度變化而變化,解決的辦法是在浮動的div下面,加一個空div,設(shè)置clear屬性both<divid="fj">我是父級<divid="zj1">我是子級11111111111111111111111111</div><divid="zj2">我是子級222222222222222222222222222222222222222222222222222222222222222222222</div><divid="clear"style="clear:both"></div>------如果去掉這句話,則父級div高度,不會隨著子級的高度變化而變化</div>
//css部分
#fj{border:4pxsolidblack;}
#zj1{border:2pxsolidyellow;float:left}
#zj2{border:2pxsolidblue;float:left}高度的自適應(yīng)的方法還有很多,這里不再列舉。像height:auto等等。四:js處理高度和寬度自適應(yīng)問題<divid="div1">222222222222222222222</div>//js部分functionsetHeight(obj){vartemHeight=null;//FFif(window.innerHeight){temHeight=window.innerHeight;//包括頁面高度和滾動條高度}else{temHeight=document.body&&document.body.clientHeight;}if(temHeight>document.body.clientHeight)//頁面高度{oDiv.style.height=temHeight+"px";}else{oDiv.style.height=document.body.clientHeight+"px";}}window.onload=function(){varoDiv=document.getElementById("div1");getHeight(oDiv);}寬度自適應(yīng)代碼:functionsetWidth(obj)
{varscreenWidth=window.screen.width;varwidth;varimgURL;if(screenWidth>=1440)
{width="1400px";imgURL="1400.png";//設(shè)置不同分辨率下的圖片}
elseif(1024<screenWidth&&screenWidth<1440)
{width="1200px";imgURL="1200.png";}
else{width="980px";imgURL="980.png";}obj.style.width=width;
obj.style.backgroundImage="url("+imgURL+")";})五:移動端的自適應(yīng)高度和寬度移動端的相對要簡單些,首先,在網(wǎng)頁代碼的頭部,加入一行viewport標(biāo)簽。<metaname=”viewport”content=”width=device-width,initial-scale=1″/>viewport是網(wǎng)頁默認(rèn)的寬度和高度,上面的意思表示,網(wǎng)頁的寬度默認(rèn)等于設(shè)備屏幕的寬度,原始縮放比例為1,即網(wǎng)頁初始大小占屏幕面積的100%。1:由于網(wǎng)頁會根據(jù)屏幕寬度調(diào)整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。這一條非常重要。具體說,CSS代碼不能指定像素寬度:width:xxxpx;只能指定百分比寬度:width:xx%;或者width:auto;2:一般使用em,盡量少使用px字體3:使用流動布局4:自適應(yīng)網(wǎng)頁設(shè)計”的核心,就是CSS3引入的mediaquery模塊。下載地址:/download/song_121292057/8031781自動探測屏幕寬度,然后加載相應(yīng)的CSS文件。<linkrel="stylesheet"type="text/css"media="screenand(max-device-width:400px)"href="style.css"/>
-------當(dāng)屏幕小于400時,就加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 26711-2024微孔筆頭墨水筆
- 保證合同的變更與解除
- 合同轉(zhuǎn)讓標(biāo)準(zhǔn)協(xié)議書范本2024年
- 2024年股權(quán)代持協(xié)議書編寫要點
- 個人部分股權(quán)轉(zhuǎn)讓協(xié)議書2024年
- 2024年經(jīng)營權(quán)轉(zhuǎn)讓合同范文
- 房屋買賣合同違約金糾紛的法律解決途徑
- 售樓部售房合同協(xié)議書
- 新股申購流程與協(xié)議書
- 施工合同價款組成解析
- DB4113-T 003-2021南陽艾種植技術(shù)規(guī)范-(高清現(xiàn)行)
- 2020檢驗檢測機構(gòu)管理評審報告
- 柏林之聲032合并功放中中文說明書
- 滬教牛津版五年級下冊小學(xué)英語全冊單元知識點小結(jié)
- 數(shù)學(xué)教研組磨課總結(jié)
- 醫(yī)學(xué)Ev3頸動脈支架和保護傘課件
- 民事案件卷宗范本
- 《保健按摩師》(四級)理論知識鑒定要素細(xì)目表
- 《船舶柴油機》教案48頁
- 扣眼穿刺的護理體會
- 試驗設(shè)計與數(shù)據(jù)處理(第二版)李云雁(全書ppt)PPT課件
評論
0/150
提交評論