Responsive Web Design 帶來了網頁技術的革新,僅僅透過 Media Queries 偵測螢幕尺寸,便能提供適合不同尺寸裝置的內容與樣式。
但光是從螢幕尺寸來偵測行動裝置的瀏覽能力,無疑是瞎子摸象。近兩年內的智慧型手機已經數度提高尺寸與解析度,行動網頁的媒體品質與豐富性也須一併提升。在內容品質提升的同時,過多的圖片或物件可能會降低使用者經驗或付出較高的代價。
從技術角度來看,可歸納『資源一致性』、『相容彈性』、『環境適應』、『品質最佳化』等四個要素。本題將就此四項要素介紹應用實例,說明如何提高 Responsive Web 的彈性,並增加行動網頁瀏覽效率。
1 of 97
More Related Content
從技術角度看 RWD - Technical Approaches to RWD
1. Technical Approach to Responsive Web Design 1
Chris Wu
Technical Approaches to RWD
從技術?角度看 Responsive Web Design
2. Technical Approach to Responsive Web Design 2
Responsive Web Design ?
帶來了網?頁技術的?革新
僅僅透過 Media Queries 偵測螢幕尺?寸,?
便能提供適合不同尺?寸裝置的內容與樣式。
8. Technical Approach to Responsive Web Design 8
Mobile Friendly
現今搜尋引擎排名的要件
排名退後,你知道你?老闆現在?非常?火嗎?
APR. 21
2015
Google expanding the use of mobile-friendliness as a
ranking signal.
FEB. 26
2015
Google announced two
important changes about
mobile-friendly content.
10. Technical Approach to Responsive Web Design 10
嗨!可以看看你的網站嗎?
好啊!?
可以讓我知道你的裝置類型嗎?
我是 iPad mini 上的 Safari
OK,提供你適合的樣式跟程式
AWD
Adaptive Web Design
11. Technical Approach to Responsive Web Design 11
嗨!來看看 modernweb.tw 網站!
好啊!?
可以讓我知道你的螢幕多?大嗎?
我的畫?面寬度是 768 px
OK,那你?用平板的樣式瀏覽網站
Tablet
RWD
Responsive Web Design
Desktop Mobile
12. Technical Approach to Responsive Web Design 12
Desktop
Tablet
Mobile
RWD
Responsive Web Design
13. Technical Approach to Responsive Web Design 13
嗨!可以看看你的網站嗎?
好啊!?
可以讓我知道你的裝置類型嗎?
我是 iPad mini 上的 Safari
RESS
Responsive Web Design with Server Side Components
Tablet
Portrait
Tablet
Landscape
Mobile
我的畫?面寬度是 768 px
OK,這些是你需要的檔案 Mobile
25. Technical Approach to Responsive Web Design 25
960
1,286
1,701
1,953kb
End of
2011
End of
2012
End of
2013
End of
2014
網路終端速度越快,相同時間能下載的量便?大
單?月平均網站下載?大?小
HTTP Archive Report
http://httparchive.org/trends.php
三年內網站的下載內容已經成??長了?一倍
26. Technical Approach to Responsive Web Design 26
End of 2014
280
560
840
1120
1400
HTML CSS Flash JS Images Other
1,243
295
圖?片與指令稿
佔了網站內容的?大部份
Images: 63.65%
JavaScript: 15.10%
http://www.sitepoint.com/average-page-weight-increases-15-2014/
27. Technical Approach to Responsive Web Design 27
80/20 法則
處理好圖?片與 JS 的問題,便能夠解決?大部份的下載效能
58. Technical Approach to Responsive Web Design 58
what is <picture> element
HTML5 Living Standard
<picture>
?
?
?<source
?media="(min-?‐width:
?40em)"
?
?
?
?
?srcset="big.jpg
?1x,
?big-?‐hd.jpg
?2x">
?
?
?<source
?
?
?
?
?
?srcset="small.jpg
?1x,
?small-?‐hd.jpg
?2x">
?
?
?<img
?src=/slideshow/rwd-technical-approaches-to-rwd/48223533/"fallback.jpg"
?alt="">
?
</picture>
條件
倍率
未符合條件時的預設值
59. Technical Approach to Responsive Web Design 59
what is <img> element
HTML5 Living Standard
<img
?src=/slideshow/rwd-technical-approaches-to-rwd/48223533/"small.jpg"
?
?
?
?
?
?srcset="large.jpg
?1024w,
?medium.jpg
?640w,
?small.jpg
?320w"
?
?
?
?
?
?sizes="(min-?‐width:
?36em)
?33.3vw,
?100vw"
?
?
?
?
?
?alt="A
?rad
?wolf">
Example:
??目前寬度等於 30em 則顯?示圖?片寬度為 100vw
使?用 small.jpg 1x (320w / 320px) 或 medium.jpg 2x (640w / 320px)
條件
倍率
未符合條件時的預設值
顯?示寬度
60. Technical Approach to Responsive Web Design 60
*_desktop.jpg
only screen and (min-width:769px)
*_landscape.jpg
only screen and (min-width:415px)
*_portrait.jpg
fallback
61. Technical Approach to Responsive Web Design 61
<picture>
?
?
?<source
?media="(min-?‐width:
?769px)"
?
?
?
?
?srcset="desktop.jpg
?1x,
?desktop-?‐hd.jpg
?2x”>
?
?
?<source
?media="(min-?‐width:
?415px)"
?
?
?
?
?srcset="landscape.jpg
?1x,
?landscape-?‐hd.jpg
?2x”>
?
?
?<img
?srcset=“portrait.jpg
?1x,
?portrait-?‐hd.jpg
?2x”>
?
</picture>
RECAP
think about the case
62. Technical Approach to Responsive Web Design 62
RECAP
think about the case
*_large.jpg
*_medium.jpg
—
only screen
and
(min-width:769px)
only screen
and
(max-width:414px)
only screen
and
(min-width:415px)
63. Technical Approach to Responsive Web Design 63
<picture>
?
?
?<source
?media="(max-?‐width:
?414px)"
?
?
?
?
?srcset="medium.jpg
?1x,
?medium-?‐hd.jpg
?2x">
?
?
?
?<img
?srcset=“blank.gif">
?
</picture>
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///
yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
RECAP
think about the case
64. Technical Approach to Responsive Web Design 64
<picture>
?
?
?<source
?media="(min-?‐width:
?415px)"
?
?
?
?
?srcset="large.jpg
?1x,
?large-?‐hd.jpg
?2x">
?
?
?
?<img
?srcset=“blank.gif">
?
</picture>
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///
yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
RECAP
think about the case
65. Technical Approach to Responsive Web Design 65
Alternative
responsive media
SVG
適合插圖、Infographic 類型資
料使?用,可透過 CSS 達成動態
及互動。
可帶?一張,或是?一系列的圖。
Icon Font
適合網站單?色?小圖?示使?用,可
透過 CSS 修改 ICON ?色彩。單
?一檔案帶多個圖?示。
CSS3 Graphic
純 CSS 繪圖,難度較?高,可搭
配 CSS3 Animation 與 media
queries 產?生?高互動的圖案。
75. Technical Approach to Responsive Web Design 75
? Vibration API
? Battery Status API
? Media Capture & Streams
? http://mobilehtml5.org
HTML 5 + Device API
開網?頁就可以震動?!
76. Technical Approach to Responsive Web Design 76
Loading Widgets
trigger by device width or user-agent
在需要的時候才載?入內容
81. Technical Approach to Responsive Web Design 81
var iFrameLazy = function (viewMode) {
var iframes = viewMode.find('iframe');
jQuery.each(iframes, function (index, item) {
item.src = /slideshow/rwd-technical-approaches-to-rwd/48223533/item.dataset.src;
});
};
Loading iframe
trigger by device width or user-agent