您好,登錄后才能下訂單哦!
小編給大家分享一下前端開(kāi)發(fā)怎么實(shí)現(xiàn)自適應(yīng)布局,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
首先我們來(lái)看什么是自適應(yīng)布局?
所謂自適應(yīng)布局我們從百度上可以搜到如下的定義自適應(yīng)設(shè)計(jì)指能使網(wǎng)頁(yè)自適應(yīng)顯示在不同大小終端設(shè)備上新網(wǎng)頁(yè)設(shè)計(jì)方式及技術(shù)。簡(jiǎn)單的來(lái)說(shuō)自適應(yīng)就是讓同一個(gè)頁(yè)面自動(dòng)適應(yīng)不同大小的設(shè)備,從而解決為不同設(shè)備提供不同版本的頁(yè)面問(wèn)題。
知道了自適應(yīng)布局是怎么一回事后,那么我們就來(lái)看一看自適應(yīng)布局該如何實(shí)現(xiàn)?
頁(yè)面的自適應(yīng)布局分為高度自適應(yīng)和寬度自適應(yīng),實(shí)現(xiàn)方式其實(shí)有挺多的,下面我們就來(lái)以三列布局為例來(lái)看看自適應(yīng)布局的實(shí)現(xiàn)方式。
一、自適應(yīng)布局之高度自適應(yīng)
高度自適應(yīng)就是把每個(gè)模塊設(shè)置為絕對(duì)定位,然后設(shè)置中間自適應(yīng)的模塊的top和bottom屬性的值分別為頭部模塊和底部模塊的高,然后中間模塊的高度就自適應(yīng)了。
高度自適應(yīng)布局代碼如下:
<body> <div class="top">120px</div> <div class="main">自適應(yīng)</div> <div class="bottom">120px</div> </body>
.top{ width: 100%; height: 120px; position: absolute; background-color: greenyellow; } .main{ position: absolute; width: 100%; top: 120px; bottom: 120px; background-color: pink; height: auto; } .bottom{ position: absolute; bottom: 0;//別漏了 width: 100%; height: 120px; background-color:greenyellow ; }
高度自適應(yīng)布局效果如下:
二、自適應(yīng)布局之寬度自適應(yīng)
寬度自適應(yīng)有三種方法,分別是用絕對(duì)定位;利用margin,中間模塊先渲染;自身浮動(dòng)。
下面我們來(lái)分別看看這三種方法實(shí)現(xiàn)的自適應(yīng)布局(三列)
1、利用絕對(duì)定位來(lái)設(shè)置寬度自適應(yīng)布局
說(shuō)明:針對(duì)自適應(yīng)模塊使用絕對(duì)定位,在把left和right設(shè)置為左右兩列的寬,其實(shí)原理和高度自適應(yīng)一樣,另外左右兩列分別左右浮動(dòng)。
絕對(duì)定位設(shè)置寬度自適應(yīng)布局代碼如下:
<body> <div class="left">200px</div> <div class="main">自適應(yīng)</div> <div class="right">200px</div> </body>
html, body { margin: 0; height: 100%; padding: 0; font-size: 30px; font-weight: 500; text-align: center; } .left, .right { width: 200px; display: inline; height: 100%; background-color: greenyellow; } .left { float: left; } .right { float: right; } .main { position: absolute; left: 200px; right: 200px; height: 100%; background-color: pink; display: inline; }
寬度自適應(yīng)布局效果如下:
2、利用margin,中間模塊先渲染來(lái)設(shè)置寬度自適應(yīng)布局
說(shuō)明:中間一列優(yōu)先渲染的自適應(yīng)三列布局,優(yōu)先渲染(加載)的關(guān)鍵:內(nèi)容在html里面必須放在前面。自適應(yīng)的div必須放在left和right前面且包含在一個(gè)父div里。父div,left和right模塊都向左浮動(dòng),然后對(duì)自適應(yīng)的div(就是父div里的子div)設(shè)置margin:0 200px,然后對(duì)left的margin-left的屬性值設(shè)置為100%的負(fù)數(shù),就是margin-left:-100%;對(duì)right的margin-left的屬性值設(shè)置為自身寬度的負(fù)數(shù),就是margin-left:-200px。
注意:自適應(yīng)的div必須放在left和right前面且包含在一個(gè)父div里。
利用margin,中間模塊先渲染設(shè)置寬度自適應(yīng)布局的代碼如下:
<body> <div class="main"> <!--看清楚,這里用一個(gè)父div包住--> <div class="content">自適應(yīng)</div> </div> <div class="left">200px</div> <div class="right">200px</div> </body>
html, body { margin: 0; height: 100%; padding: 0; font-size: 30px; font-weight: 500; text-align: center; } .main { width: 100%; height: 100%; float: left; } .main .content { margin: 0 200px; background-color: pink; height: 100%; } .left, .right { width: 200px; height: 100%; float: left; background-color: greenyellow; } .left { margin-left: -100%; //important } .right { margin-left: -200px; //important }
寬度自適應(yīng)布局效果如下:
3、利用自身浮動(dòng)來(lái)設(shè)置寬度自適應(yīng)布局
說(shuō)明:中間列設(shè)置margin屬性,就是把左右列分別左右浮動(dòng)。注意:使用這個(gè)方法布局自適應(yīng)的話,必須把自適應(yīng)的那一列在html中放在left和right后面。
利用自身浮動(dòng)設(shè)置寬度自適應(yīng)布局代碼如下:
<body> <div class="left">200px</div> <div class="right">200px</div> <div class="main">自適應(yīng)</div> </body>
html, body { margin: 0; height: 100%; padding: 0; font-size: 30px; font-weight: 500; text-align: center; } .main { margin: 0 200px; height: 100%; background-color: pink; } .left, .right { width: 200px; height: 100%; background-color: greenyellow; } .left { float: left; } .right { float: right; }
寬度自適應(yīng)布局效果如下:
看完了這篇文章,相信你對(duì)前端開(kāi)發(fā)怎么實(shí)現(xiàn)自適應(yīng)布局有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。