這期內(nèi)容當中小編將會給大家?guī)碛嘘P自適應屏幕的CSS響應式布局設計技巧有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
目前創(chuàng)新互聯(lián)建站已為1000多家的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設計、壽縣網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
響應式設計
目前非常流行自適應設計與響應式設計,而且經(jīng)常讓人混淆,自適應設計不應與自適應布局混為一談,它們是完全不一樣的概念。
在這先說明下這兩者的異同:
自從移動終端飛速發(fā)展以來,各種各樣的機型突飛猛進,很多網(wǎng)站的解決方法,是為不同的設備提供不同的網(wǎng)頁,比如專門提供一個mobile版本,或者iPhone/iPad版本。這樣做固然保證了效果,但是比較麻煩,同時要維護好幾個版本,而且如果一個網(wǎng)站有多個portal(入口),會大大增加架構設計的復雜度。
于是,很早就有人設想,能不能"一次設計,普遍適用",讓同一張網(wǎng)頁自動適應不同大小的屏幕,根據(jù)屏幕寬度,自動調(diào)整布局(layout)?
2010年,Ethan Marcotte提出了"自適應網(wǎng)頁設計"(Responsive Web Design)這個名詞,指可以自動識別屏幕寬度、并做出相應調(diào)整的網(wǎng)頁設計。
如圖所示就叫做自適應布局。自適應布局有它的使用價值,在于它能夠提供一種更加實用的解決方案,使得項目的實現(xiàn)成本更低,并且更加易于測試。一個自適應布局可以被看作是響應式布局的一個更加廉價的替代品,會在項目資源緊缺的情況下更具有吸引力。
而在響應式布局中你卻要考慮上百種不同的狀態(tài):
響應式網(wǎng)頁設計是自適應網(wǎng)頁設計的子集。響應式網(wǎng)頁設計指的是頁面的布局(流動網(wǎng)格、靈活的圖像及媒介查詢)??傮w目標就是去解決設備多樣化問題。
響應式布局等于流動網(wǎng)格布局,而自適應布局等于使用固定分割點來進行布局。
當固定寬度與流動寬度結合起來時,自適應布局就是一種響應式設計,而不僅僅是它的一種替代方法。
背景
PC互聯(lián)網(wǎng)加速向移動端遷移;
移動端入口:當用戶希望通過手機來完成PC頁的操作時,常見的是商家的運營微博,期文案足夠吸引用戶點擊鏈接參加活動,如果該活動頁沒做響應式處理:頁面體積大、請求多、體驗差、兼容性差,層層阻礙最終導致用戶放棄參加。
優(yōu)勢
開發(fā)成本低,門檻低
Native APP:Objective-C or Java – 學習成本高
Hybrid APP: 外殼+Web APP,需安裝。
響應式Web APP:HTML5+JS+CSS – 門檻低,極易上手,迭代快
跨平臺和終端且不需要分配子域
雖然可通過監(jiān)測用戶UA來判斷用戶終端后做跳轉,但它還是分配了多個域,而響應式無需監(jiān)測用戶UA沒有域的切換,只需根據(jù)終端類型來適配不同的功能模塊與表現(xiàn)樣式,它是跨平臺和終端的,1頁面適配多終端。
技巧
那么如何進行響應式布局呢?下面就一步步為你揭開響應式布局的面紗:
Skill 1 學會運用 Css3 Media Queries,根據(jù)不同的屏幕分辨率,選擇應用不同的Css規(guī)則
Media Queries語法簡介:
max-width:若瀏覽區(qū)域的寬度小于400像素,則下方的CSS描述就會立即被套用:
CSS Code復制內(nèi)容到剪貼板
@media screen and (max-width:400px){ .class { background:#ccc; } }
也可以把要套用的描述獨立成外部檔案:
CSS Code復制內(nèi)容到剪貼板
<link rel="stylesheet" media="screen and (max-width: 400px)" href="mini.css" />
Min Width:若瀏覽區(qū)域的寬度大于800像素,則下方的CSS描述就會立即被套用:
CSS Code復制內(nèi)容到剪貼板
@media screen and (min-width:800px){ .class { background:#666; } }
Device Width:若瀏覽設備的可視范圍最大為480px,則下方的CSS描述就會立即被套用:(注:移動手機目前常見最大寬度為480px,如iPhone or Android Phone)
CSS Code復制內(nèi)容到剪貼板
@media screen and (max-device-width:480px){ .class { background:#000; } }
針對iPhone4提供專用的css設定檔:
CSS Code復制內(nèi)容到剪貼板
<link rel= "stylesheet" media= "only screen and (-webkit-min-device-pixel-ratio: 2)" type= "text/css" href= "iphone4.css" />
針對iPad的Portrait Mode(直立)與Landscape Mode(橫躺)兩種瀏覽模式給予不同的css設定檔:
CSS Code復制內(nèi)容到剪貼板
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
Skill 2 在網(wǎng)頁頭部加上viewport標簽
XML/HTML Code復制內(nèi)容到剪貼板
<meta name="viewport" content="width=device-width, initial-scale=1.0">
瀏覽器推出了“viewport meta”標簽,許多移動瀏覽器現(xiàn)在都支持這個標簽,W3C 協(xié)議定義 viewport meta 目前還屬于草案,很多人都會在html head 處加上 viewport 這個meta data,一個典型的移動端viewport如下所示:
XML/HTML Code復制內(nèi)容到剪貼板
<meta name="viewport" content="width=device-width, initial-scale=1.0">
該屬性可以控制視窗口寬度的大小。它可以被設置為實際的具體像素width= 600或為特殊設備設置寬度值。
viewport設置屬性如下:
width:可設定數(shù)值,或者指定為 device-width
height:可設定數(shù)值,或者指定為 device-height
initial-scale:第一次進入頁面的初始比例
minimum-scale:允許縮小最小比例
maximum-scale:允許放大最大比例
user-scalable:允許使用者縮放,1 or 0 (yes or no)
編譯過程會轉化成如下的語義:
CSS Code復制內(nèi)容到剪貼板
@viewport { width: device-width; initial-scale: 1.0 }
device-width ,主要是為了讓整個頁面寬度與手機可視寬度相同,這樣就可以簡單相容于不同機型屏幕大小,如果這邊width沒有設定的話,就會依照html/css給予的width當作預設值。
因為解析度不同,device-width有時候不一定是view width,所以在類似iphone 4高解析度機器上,device-width=320 ,可是實際解析度為480,這時候就需要利用javascript針對UA下去做動態(tài)調(diào)整。
user-scalable,這個屬性可以讓使用者能否放大、縮小頁面,如果頁面不允許手機使用者縮放,就直接設定0或者no,反之要啟動縮放功能,就設置1或者是yes。
接下來將說明幾種常用的方式,以及具體例子提供給大家參考。
如果在手機端我們希望網(wǎng)頁呈現(xiàn)固定,不希望使用者隨意縮放,直接設定如下
XML/HTML Code復制內(nèi)容到剪貼板
<meta name="viewport" content="width=device-width, initial-scale=1.0">
如果希望在不同device使用不同縮放大小,就必須使用javascript,檢測UA(User agent),動態(tài)設定viewport,如下:
CSS Code復制內(nèi)容到剪貼板
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=device-width; initial-scale=1.0; maximum-scale=1.0;
Skill 3 不使用絕對寬度
由于網(wǎng)頁會根據(jù)屏幕寬度調(diào)整布局,所以不能使用絕對寬度(margin-left:5px)的布局,也不能使用具有絕對寬度(例如:width:200px)的元素,而最好使用百分比寬度width:20%;或者with:auto;
Skill 4 字體最好不要用絕對大小(px),而使用相對大小(em)
CSS Code復制內(nèi)容到剪貼板
body { font: normal 100% Helvetica, Arial, sans-serif; }
上面的代碼指定,字體大小是頁面默認大小的100%,即16像素。
CSS Code復制內(nèi)容到剪貼板
h2 { font-size: 1.5em; }
h2的大小是默認大小的1.5倍,即24像素(24/16=1.5)
CSS Code復制內(nèi)容到剪貼板
.small { font-size: 0.875em; }
small元素的大小是默認大小的0.875倍,即14像素(14/16=0.875)
這里順便說說 px pt em rem區(qū)別:
px是pixel,像素,是屏幕上顯示數(shù)據(jù)的最基本的點,在HTML中,默認的單位就是px;
pt是point,是印刷行業(yè)常用單位,等于1/72英寸。
em才是真正的“相對單位”(百分比嘛,當然是相對),而px和pt都是絕對單位(都有固定值)。所以,一般移動終端布局用em比較合適。
rem是css3的出現(xiàn),同時引進新的單位,而rem是相對于根元素<html>,這樣就意味著,我們只需要在根元素確定一個參考值,在根元素中設置多大的字體,這完全可以根據(jù)您自己的需要。
Skill 5 流動布局(fluid grid)
流動布局的含義是各個位置都是浮動的,不是固定不變的
CSS Code復制內(nèi)容到剪貼板
.main { float: rightright; width: 70%; } .leftBar { float: left; width: 25%; }
float的好處是,如果寬度太小,放不下兩個元素,后面的元素會自動滾動到前面元素的下方,不會在水平方向overflow(溢出),避免了水平滾動條的出現(xiàn)。
Skill 6 圖片的自動縮放,等比縮放
CSS Code復制內(nèi)容到剪貼板
img{ max-width: 100%; }
要使圖片按等比縮放,一般不需要規(guī)定圖片高度。且最好不用background-image,因為這樣不會按照等比縮放。
上述就是小編為大家分享的自適應屏幕的CSS響應式布局設計技巧有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:自適應屏幕的CSS響應式布局設計技巧有哪些
瀏覽路徑:http://aaarwkj.com/article2/jjipic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、Google、網(wǎng)站排名、App開發(fā)、網(wǎng)站營銷、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)