自適應網(wǎng)頁設計(Responsive Web Design)

    自適應網(wǎng)頁開發(fā)&布局

    參考英文文獻:

    https://alistapart.com/article/responsive-web-design

    來源于:

    http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html

    作者:?阮一峰

    日期:?2012年5月 1日

    評論區(qū)蠻有趣的

    底部為第一部分

    二、允許網(wǎng)頁寬度自動調整

    “自適應網(wǎng)頁設計”到底是怎么做到的?其實并不難。

    首先,在網(wǎng)頁代碼的頭部,加入一行viewport元標簽

    <meta name="viewport" content="width=device-width, initial-scale=1" />
    

    viewport是網(wǎng)頁默認的寬度和高度,上面這行代碼的意思是,網(wǎng)頁寬度默認等于屏幕寬度(width=device-width),原始縮放比例(initial-scale=1)為1.0,即網(wǎng)頁初始大小占屏幕面積的100%。

    所有主流瀏覽器都支持這個設置,包括IE9。對于那些老式瀏覽器(主要是IE6、7、8),需要使用css3-mediaqueries.js

    補充一:https://www.cnblogs.com/eyed/p/7872521.html

    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
    

    在網(wǎng)頁的中增加以上這句話,可以讓網(wǎng)頁的寬度自動適應手機屏幕的寬度,下面是這些屬性的解釋:

    1)width=device-width :表示寬度是設備屏幕的寬度

    2)initial-scale=1.0:表示初始的縮放比例,1.0就是占網(wǎng)頁的100%

    3)minimum-scale=1.0:表示最小的縮放比例

    4)maximum-scale=1.0:表示最大的縮放比例

    5)user-scalable=no:表示用戶是否可以調整縮放比例

    補充二:

    viewport設置屬性如下:來源

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    • width:可設定數(shù)值,或者指定為?device-width
    • height:可設定數(shù)值,或者指定為?device-height
    • initial-scale:第一次進入頁面的初始比例
    • minimum-scale:允許縮小最小比例
    • maximum-scale:允許放大最大比例
    • user-scalable:允許使用者縮放,1?or?0?(yes?or?no)

    編譯過程會轉化成如下的語義:

    @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)調整。

    user-scalable,這個屬性可以讓使用者能否放大、縮小頁面,如果頁面不允許手機使用者縮放,就直接設定0或者no,反之要啟動縮放功能,就設置1或者是yes

    三、不使用絕對寬度

    由于網(wǎng)頁會根據(jù)屏幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。這一條非常重要。

    具體說,CSS代碼不能指定像素寬度:

    width:xxx px;

    只能指定百分比寬度:

    width: xx%;

    或者

    width:auto;

    四、相對大小的字體

    字體也不能使用絕對大小(px),而只能使用相對大小(em)。

    body {
     font: normal 100% Helvetica, Arial, sans-serif;
     }
    

    上面的代碼指定,字體大小是頁面默認大小的100%,即16像素。

    h1 {
     font-size: 1.5em;?
     }
    

    然后,h1的大小是默認大小的1.5倍,即24像素(24/16=1.5)。

    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是相對于根元素,這樣就意味著,我們只需要在根元素確定一個參考值,在根元素中設置多大的字體,這完全可以根據(jù)您自己的需要。

    五、流動布局(fluid grid)

    “流動布局”的含義是,各個區(qū)塊的位置都是浮動的,不是固定不變的。

    .main {
     float: right;
     width: 70%;?
     }
    .leftBar {
     float: left;
     width: 25%;
     }
    

    float的好處是,如果寬度太小,放不下兩個元素,后面的元素會自動滾動到前面元素的下方,不會在水平方向overflow(溢出),避免了水平滾動條的出現(xiàn)。

    另外,絕對定位(position: absolute)的使用,也要非常小心。

    六、選擇加載CSS

    “自適應網(wǎng)頁設計”的核心,就是CSS3引入的Media Query模塊。

    它的意思就是,自動探測屏幕寬度,然后加載相應的CSS文件。

    "stylesheet" type="text/css"
     media="screen and (max-device-width: 400px)"
     href="tinyScreen.css" />
    

    上面的代碼意思是,如果屏幕寬度小于400像素(max-device-width: 400px),就加載tinyScreen.css文件。

    "stylesheet" type="text/css"
     media="screen and (min-width: 400px) and (max-device-width: 600px)"
     href="smallScreen.css" />
    

    如果屏幕寬度在400像素到600像素之間,則加載smallScreen.css文件。

    除了用html標簽加載CSS文件,還可以在現(xiàn)有CSS文件中加載。

    @import url("tinyScreen.css") screen and (max-device-width: 400px);
    

    七、CSS的@media規(guī)則

    詳細介紹:

    https://developer.mozilla.org/zh-CN/docs/Web/CSS/@media

    同一個CSS文件中,也可以根據(jù)不同的屏幕分辨率,選擇應用不同的CSS規(guī)則。

    @media screen and (max-device-width: 400px) {
    .column {
     float: none;
     width:auto;
     }
    #sidebar {
     display:none;
     }
    }
    

    上面的代碼意思是,如果屏幕寬度小于400像素,則column塊取消浮動(float:none)、寬度自動調節(jié)(width:auto),sidebar塊不顯示(display:none)。

    八、圖片的自適應(fluid image)

    除了布局和文本,”自適應網(wǎng)頁設計”還必須實現(xiàn)圖片的自動縮放

    這只要一行CSS代碼:

    img { max-width: 100%;}

    這行代碼對于大多數(shù)嵌入網(wǎng)頁的視頻也有效,所以可以寫成:

    img, object { max-width: 100%;}

    老版本的IE不支持max-width,所以只好寫成:

    img { width: 100%; }

    此外,windows平臺縮放圖片時,可能出現(xiàn)圖像失真現(xiàn)象。這時,可以嘗試使用IE的專有命令

    img { -ms-interpolation-mode: bicubic; }

    或者,Ethan Marcotte的imgSizer.js

    addLoadEvent(function() {
    var imgs = document.getElementById("content").getElementsByTagName("img");
    imgSizer.collate(imgs);
    });
    

    不過,有條件的話,最好還是根據(jù)不同大小的屏幕,加載不同分辨率的圖片。有很多方法可以做到這一條,服務器端和客戶端都可以實現(xiàn)。

    隨著3G的普及,越來越多的人使用手機上網(wǎng)。

    移動設備正超過桌面設備,成為訪問互聯(lián)網(wǎng)的最常見終端。于是,網(wǎng)頁設計師不得不面對一個難題:如何才能在不同大小的設備上呈現(xiàn)同樣的網(wǎng)頁?

    自適應網(wǎng)頁設計(Responsive Web Design)

    手機的屏幕比較小,寬度通常在600像素以下;PC的屏幕寬度,一般都在1000像素以上(目前主流寬度是1366×768),有的還達到了2000像素。同樣的內(nèi)容,要在大小迥異的屏幕上,都呈現(xiàn)出滿意的效果,并不是一件容易的事。

    很多網(wǎng)站的解決方法,是為不同的設備提供不同的網(wǎng)頁,比如專門提供一個mobile版本,或者iPhone / iPad版本。這樣做固然保證了效果,但是比較麻煩,同時要維護好幾個版本,而且如果一個網(wǎng)站有多個portal(入口),會大大增加架構設計的復雜度。

    于是,很早就有人設想,能不能”一次設計,普遍適用”,讓同一張網(wǎng)頁自動適應不同大小的屏幕,根據(jù)屏幕寬度,自動調整布局(layout)?

    自適應網(wǎng)頁設計(Responsive Web Design)

    一、”自適應網(wǎng)頁設計”的概念

    2010年,Ethan Marcotte提出了“自適應網(wǎng)頁設計”(Responsive Web Design)這個名詞,指可以自動識別屏幕寬度、并做出相應調整的網(wǎng)頁設計。

    他制作了一個范例,里面是《福爾摩斯歷險記》六個主人公的頭像。如果屏幕寬度大于1300像素,則6張圖片并排在一行。

    自適應網(wǎng)頁設計(Responsive Web Design)

    如果屏幕寬度在600像素到1300像素之間,則6張圖片分成兩行。

    自適應網(wǎng)頁設計(Responsive Web Design)

    如果屏幕寬度在400像素到600像素之間,則導航欄移到網(wǎng)頁頭部。

    自適應網(wǎng)頁設計(Responsive Web Design)

    如果屏幕寬度在400像素以下,則6張圖片分成三行。

    自適應網(wǎng)頁設計(Responsive Web Design)

    mediaqueri.es上面有更多這樣的例子。

    這里還有一個測試小工具,可以在一張網(wǎng)頁上,同時顯示不同分辨率屏幕的測試效果,我推薦安裝。

    (完)

    文檔信息

    另外的:

    來源于:

    自適應設計與響應式網(wǎng)頁設計

    In?CSS3,HTML5?on 2015年04月14日 by?TAT.sheran?view: 21,001

    目前非常流行自適應設計與響應式設計,而且經(jīng)常讓人混淆,自適應設計不應與自適應布局混為一談,它們是完全不一樣的概念。

    在這先說明下這兩者的異同:

    自從移動終端飛速發(fā)展以來,各種各樣的機型突飛猛進,很多網(wǎng)站的解決方法,是為不同的設備提供不同的網(wǎng)頁,比如專門提供一個mobile版本,或者iPhone/iPad版本。這樣做固然保證了效果,但是比較麻煩,同時要維護好幾個版本,而且如果一個網(wǎng)站有多個portal(入口),會大大增加架構設計的復雜度。

    于是,很早就有人設想,能不能”一次設計,普遍適用”,讓同一張網(wǎng)頁自動適應不同大小的屏幕,根據(jù)屏幕寬度,自動調整布局(layout)?

    2010年,Ethan?Marcotte提出了“自適應網(wǎng)頁設計”(Responsive?Web?Design)這個名詞,指可以自動識別屏幕寬度、并做出相應調整的網(wǎng)頁設計。

    自適應網(wǎng)頁設計(Responsive Web Design)

    圖片來源http://mashable.com/2012/12/11/responsive-web-design/

    如圖所示就叫做自適應布局。自適應布局有它的使用價值,在于它能夠提供一種更加實用的解決方案,使得項目的實現(xiàn)成本更低,并且更加易于測試。一個自適應布局可以被看作是響應式布局的一個更加廉價的替代品,會在項目資源緊缺的情況下更具有吸引力。

    而在響應式布局中你卻要考慮上百種不同的狀態(tài):

    響應式網(wǎng)頁設計是自適應網(wǎng)頁設計的子集。響應式網(wǎng)頁設計指的是頁面的布局(流動網(wǎng)格、靈活的圖像及媒介查詢)。總體目標就是去解決設備多樣化問題。

    響應式布局等于流動網(wǎng)格布局,而自適應布局等于使用固定分割點來進行布局。

    當固定寬度與流動寬度結合起來時,自適應布局就是一種響應式設計,而不僅僅是它的一種替代方法。?

    更多:

    https://www.cnblogs.com/constantince/p/5708930.html

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發(fā)送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優(yōu)惠劵
    搜索
    主站蜘蛛池模板: 亚洲AV美女一区二区三区| 国产福利微拍精品一区二区| 在线精品国产一区二区| 一区二区三区中文| 蜜桃无码一区二区三区| 国产婷婷一区二区三区| 四虎永久在线精品免费一区二区 | 无码丰满熟妇浪潮一区二区AV| 精品伦精品一区二区三区视频 | 精品国产免费一区二区三区香蕉| 国产亚洲福利精品一区二区| 伊人久久精品一区二区三区| 免费无码一区二区三区| 日本大香伊一区二区三区| 一区二区三区波多野结衣| 波多野结衣一区二区三区88 | 亚洲A∨精品一区二区三区| 在线观看国产一区二区三区| 狠狠综合久久av一区二区| 另类国产精品一区二区| 日韩一区二区免费视频| 国产一区二区三区在线看片 | 国产视频一区在线播放| 国产伦精品一区二区三区不卡| 精品欧洲av无码一区二区| 精品人妻AV一区二区三区 | 精品国产精品久久一区免费式 | 一区二区三区午夜| V一区无码内射国产| 久久无码人妻精品一区二区三区| 国产一区二区精品尤物| 亚洲AV成人一区二区三区AV| 一区二区三区四区精品视频| 无码人妻一区二区三区一| 日韩欧美一区二区三区免费观看| 春暖花开亚洲性无区一区二区| 日韩社区一区二区三区| 日本一区二区三区在线观看| 毛片一区二区三区| 色一情一乱一伦一区二区三区日本 | 少妇特黄A一区二区三区|