SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
RESPONSIVE
WEB
DESIGN
YEAST LIU

2014.1.20
OUTLINE
• What is “Responsive Web Design” ?
• Responsive Elements and Media
• Responsive Layout

• Using Responsive Layout
• Building Mobile-first Websites
OUTLINE
• What is “Responsive Web Design” ?
• Responsive Elements and Media
• Responsive Layout

• Using Responsive Layout
• Building Mobile-first Websites
WHAT IS
RESPONSIVE WEB DESIGN?
WHAT IS
RESPONSIVE
WEB
DESIGN?

看看這個網頁
在平版上的樣子
WHAT IS
RESPONSIVE
WEB DESIGN?

在手機上?
WHAT IS
RESPONSIVE WEB DESIGN?
• 讓一個網頁在任何平台上都有好的瀏覽效果

• 不需要重寫 HTML
• 可以針對不同裝置進行調整
OUTLINE
• What is “Responsive Web Design” ?
• Responsive Elements and Media
• Responsive Layout

• Using Responsive Layout
• Building Mobile-first Websites
%

RESIZING AN IMAGE USING
• Any Size?
用百分比取代直接定義大小。
div.img-wrap{
float: left;
width:100%;
}
img.responsive {
max-width: 100%;
height: auto;
}
RESIZING YOUR SITE USING

MEDIA QUERIES
RESIZING YOUR SITE USING

MEDIA QUERY
• 什麼是 Media Query?

偵測裝置的尺寸和方向,提供指定的 CSS 樣式
• 有兩種使用方法
• 在同一個 CSS 檔中,用 @media 判斷螢幕寬度,
載入相應的樣式
• 在 HTML 檔中定義不同大小對應的 External CSS 檔案
RESIZING YOUR SITE USING

MEDIA QUERY
• @media

Query 螢幕大小

/* 當螢幕寬度介於 1280 px ~ 1025 px 時 */
@media screen and ( min-width:1025px )
and ( max-width: 1280px ) {
img.responsive {
/* 圖片寬度為 900 px */
width: 900px;
}
}
img.responsive {
height: auto;
}
RESIZING YOUR SITE USING

MEDIA QUERY

• 也可以分成許多不同的 CSS 檔案
<link rel="stylesheet" type="text/css" href=“small.css"
media="screen and (max-width: 1024px)">
<link rel="stylesheet" type="text/css" href=“medium.css"
media="screen and (min-width: 1025px)
and (max-width: 1280px)">
<link rel="stylesheet" type="text/css" href=“large.css"
media="screen and (min-width: 1081px)">
RESIZING YOUR SITE USING

MEDIA QUERY
• 我們再看個例子
RESIZING YOUR SITE USING

MEDIA QUERY
• 這是怎麼做到的?

在 HTML 中定義大小清單,在 CSS 中決定輸出樣式
<div class="small-menu">
<form>
<select >
<option value=“blog.html”>Option1</option>
<option value="home.html">Option2</option>
<option value="tutorials.html">Option3</option>
</select>
<form>
</div>
RESIZING YOUR SITE USING

MEDIA QUERY
• 這是怎麼做到的?

• 在 HTML 中定義大小清單,這是小清單的原始碼
<div class="small-menu">
<form>
<select >
<option value=“blog.html”>Option1</option>
<option value="home.html">Option2</option>
<option value="tutorials.html">Option3</option>
</select>
<form>
</div>
RESIZING YOUR SITE USING

MEDIA QUERY
• 這是怎麼做到的?

• 在 CSS 中決定兩種清單該什麼時候在什麼位置出現
@media screen and ( max-width: 800px ) {
.small-menu {
display: inline;
}

/* 把大清單藏起來 */
.large-menu {
display: none;
}
}
IT’S YOUR TURN!
• 用 Media Query 寫一隻簡單的網頁,讓它能跟著螢
幕大小轉換不同樣式
• Note: 可能會用到的工具
Window Resizer
OUTLINE
• What is “Responsive Web Design” ?
• Responsive Elements and Media
• Responsive Layout

• Using Responsive Layout
• Building Mobile-first Websites
MIN AND MAX WIDTH
• 當視窗縮小到某種程度時,讓網頁區塊向下移,不被切掉
/* 設定 <article> 標籤的區域最大值 */
article {
width: 100%;
max-width: 1280px;
margin: 0 auto;
}
/* 當最大寬度小於 350 px 時,向左對齊 */
.float {
max-width: 350px;
float: left;
}
CONTROL LAYOUT WITH

RELATIVE PADDING
• 利用相對位置的留白讓網頁看起來整齊
.content { /* 上右下左 */
padding:0 5% 0 5%;
/* padding: 0px 10px 0px 10px; (這是不好的寫法) */
}

aside {
padding:0 10% 0 20%
}
.comment {
padding:0 0 0 10%
}
content
5%

aside
20%

Comment
10%
RECALL: MEDIA QUERIES
• Adding a media query to CSS

• Creating a responsive width layout with media queries
• Changing image sizes with media queries
• Hiding an element with media queries
MORE FEATURES
• 裝置寬度
device-width | min-device-width | max-device-width

• 裝置高度
device-height | min-device-height | max-device-height

• 旋轉方向
orientation (value: portrait | landscape)

• 解析度
resolution | min-resolution | max-resolution
OUTLINE
• What is “Responsive Web Design” ?
• Responsive Elements and Media
• Responsive Layout

• Using Responsive Layout
• Building Mobile-first Websites
BOOTSTRAP
• Twitter Bootstrap
• 提供許多設計好的版面能讓使用者使用
• 設計了豐富現成的按鈕、表單
• 已經是 Responsive Website
<div class="row">
<div class="col-md-4">
.col-md-4
</div>
<div class="col-md-4 col-md-offset-4">
.col-md-4 .col-md-offset-4
</div>

</div>
OUTLINE
• What is “Responsive Web Design” ?
• Responsive Elements and Media
• Responsive Layout

• Using Responsive Layout
• Building Mobile-first Websites
MOBILE-FIRST WEBSITE
MOBILE-FIRST WEBSITE
• 為什麼要先先設計手機介面?
• 智慧型手機使用者用越多
• 讓人專注在網站真正重要的地方
• 可以結合手機許多的特殊功能
Ex. Geolocation, Touch Event
MOBILE-FIRST WEBSITE
• RWD

Desktop  Tablet  Mobile

• Mobile First RWD

Mobile  Tablet  Desktop
Q&A

Contenu connexe

Similaire à Responsive Web Design

如何發展網路中心
如何發展網路中心如何發展網路中心
如何發展網路中心Tony Wang
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Designjay li
 
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps一步一步开发Html5 mobile apps
一步一步开发Html5 mobile appsAdam Lu
 
行動裝置Web地圖
行動裝置Web地圖行動裝置Web地圖
行動裝置Web地圖c34031328
 
Dive into Responsive Web Design
Dive into Responsive Web DesignDive into Responsive Web Design
Dive into Responsive Web Designcncuckoo
 
6 rexsee:会html就会android
6 rexsee:会html就会android6 rexsee:会html就会android
6 rexsee:会html就会android36Kr.com
 
Mobile Web(preview version)
Mobile Web(preview version)Mobile Web(preview version)
Mobile Web(preview version)Yu Wei Shang
 
Responsive design on drupal
Responsive design on drupalResponsive design on drupal
Responsive design on drupalChris Wu
 
Response Web Design
Response Web DesignResponse Web Design
Response Web DesignSichu Zhang
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台MOBINODE
 
一淘新首页总结
一淘新首页总结一淘新首页总结
一淘新首页总结jieorlin
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0) My own sweet home!
 
twMVC#13 | RWD不是你想的那樣!
twMVC#13 | RWD不是你想的那樣!twMVC#13 | RWD不是你想的那樣!
twMVC#13 | RWD不是你想的那樣!twMVC
 
Take Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App DevelopersTake Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App DevelopersRyan Chung
 
Bootstrap 導入分享
Bootstrap 導入分享Bootstrap 導入分享
Bootstrap 導入分享得翔 徐
 
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 drewz lin
 
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)My own sweet home!
 

Similaire à Responsive Web Design (20)

如何發展網路中心
如何發展網路中心如何發展網路中心
如何發展網路中心
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Design
 
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps
 
行動裝置Web地圖
行動裝置Web地圖行動裝置Web地圖
行動裝置Web地圖
 
Dive into Responsive Web Design
Dive into Responsive Web DesignDive into Responsive Web Design
Dive into Responsive Web Design
 
6 rexsee:会html就会android
6 rexsee:会html就会android6 rexsee:会html就会android
6 rexsee:会html就会android
 
Mobile Web(preview version)
Mobile Web(preview version)Mobile Web(preview version)
Mobile Web(preview version)
 
Responsive design on drupal
Responsive design on drupalResponsive design on drupal
Responsive design on drupal
 
Response Web Design
Response Web DesignResponse Web Design
Response Web Design
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
 
一淘新首页总结
一淘新首页总结一淘新首页总结
一淘新首页总结
 
漫谈web前端
漫谈web前端漫谈web前端
漫谈web前端
 
coServ & RWD
coServ & RWD coServ & RWD
coServ & RWD
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
 
Download
DownloadDownload
Download
 
twMVC#13 | RWD不是你想的那樣!
twMVC#13 | RWD不是你想的那樣!twMVC#13 | RWD不是你想的那樣!
twMVC#13 | RWD不是你想的那樣!
 
Take Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App DevelopersTake Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App Developers
 
Bootstrap 導入分享
Bootstrap 導入分享Bootstrap 導入分享
Bootstrap 導入分享
 
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
 
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)
 

Responsive Web Design

  • 2. OUTLINE • What is “Responsive Web Design” ? • Responsive Elements and Media • Responsive Layout • Using Responsive Layout • Building Mobile-first Websites
  • 3. OUTLINE • What is “Responsive Web Design” ? • Responsive Elements and Media • Responsive Layout • Using Responsive Layout • Building Mobile-first Websites
  • 7. WHAT IS RESPONSIVE WEB DESIGN? • 讓一個網頁在任何平台上都有好的瀏覽效果 • 不需要重寫 HTML • 可以針對不同裝置進行調整
  • 8. OUTLINE • What is “Responsive Web Design” ? • Responsive Elements and Media • Responsive Layout • Using Responsive Layout • Building Mobile-first Websites
  • 9. % RESIZING AN IMAGE USING • Any Size? 用百分比取代直接定義大小。 div.img-wrap{ float: left; width:100%; } img.responsive { max-width: 100%; height: auto; }
  • 10. RESIZING YOUR SITE USING MEDIA QUERIES
  • 11. RESIZING YOUR SITE USING MEDIA QUERY • 什麼是 Media Query? 偵測裝置的尺寸和方向,提供指定的 CSS 樣式 • 有兩種使用方法 • 在同一個 CSS 檔中,用 @media 判斷螢幕寬度, 載入相應的樣式 • 在 HTML 檔中定義不同大小對應的 External CSS 檔案
  • 12. RESIZING YOUR SITE USING MEDIA QUERY • @media Query 螢幕大小 /* 當螢幕寬度介於 1280 px ~ 1025 px 時 */ @media screen and ( min-width:1025px ) and ( max-width: 1280px ) { img.responsive { /* 圖片寬度為 900 px */ width: 900px; } } img.responsive { height: auto; }
  • 13. RESIZING YOUR SITE USING MEDIA QUERY • 也可以分成許多不同的 CSS 檔案 <link rel="stylesheet" type="text/css" href=“small.css" media="screen and (max-width: 1024px)"> <link rel="stylesheet" type="text/css" href=“medium.css" media="screen and (min-width: 1025px) and (max-width: 1280px)"> <link rel="stylesheet" type="text/css" href=“large.css" media="screen and (min-width: 1081px)">
  • 14. RESIZING YOUR SITE USING MEDIA QUERY • 我們再看個例子
  • 15. RESIZING YOUR SITE USING MEDIA QUERY • 這是怎麼做到的? 在 HTML 中定義大小清單,在 CSS 中決定輸出樣式 <div class="small-menu"> <form> <select > <option value=“blog.html”>Option1</option> <option value="home.html">Option2</option> <option value="tutorials.html">Option3</option> </select> <form> </div>
  • 16. RESIZING YOUR SITE USING MEDIA QUERY • 這是怎麼做到的? • 在 HTML 中定義大小清單,這是小清單的原始碼 <div class="small-menu"> <form> <select > <option value=“blog.html”>Option1</option> <option value="home.html">Option2</option> <option value="tutorials.html">Option3</option> </select> <form> </div>
  • 17. RESIZING YOUR SITE USING MEDIA QUERY • 這是怎麼做到的? • 在 CSS 中決定兩種清單該什麼時候在什麼位置出現 @media screen and ( max-width: 800px ) { .small-menu { display: inline; } /* 把大清單藏起來 */ .large-menu { display: none; } }
  • 18. IT’S YOUR TURN! • 用 Media Query 寫一隻簡單的網頁,讓它能跟著螢 幕大小轉換不同樣式 • Note: 可能會用到的工具 Window Resizer
  • 19. OUTLINE • What is “Responsive Web Design” ? • Responsive Elements and Media • Responsive Layout • Using Responsive Layout • Building Mobile-first Websites
  • 20. MIN AND MAX WIDTH • 當視窗縮小到某種程度時,讓網頁區塊向下移,不被切掉 /* 設定 <article> 標籤的區域最大值 */ article { width: 100%; max-width: 1280px; margin: 0 auto; } /* 當最大寬度小於 350 px 時,向左對齊 */ .float { max-width: 350px; float: left; }
  • 21. CONTROL LAYOUT WITH RELATIVE PADDING • 利用相對位置的留白讓網頁看起來整齊 .content { /* 上右下左 */ padding:0 5% 0 5%; /* padding: 0px 10px 0px 10px; (這是不好的寫法) */ } aside { padding:0 10% 0 20% } .comment { padding:0 0 0 10% }
  • 23. RECALL: MEDIA QUERIES • Adding a media query to CSS • Creating a responsive width layout with media queries • Changing image sizes with media queries • Hiding an element with media queries
  • 24. MORE FEATURES • 裝置寬度 device-width | min-device-width | max-device-width • 裝置高度 device-height | min-device-height | max-device-height • 旋轉方向 orientation (value: portrait | landscape) • 解析度 resolution | min-resolution | max-resolution
  • 25. OUTLINE • What is “Responsive Web Design” ? • Responsive Elements and Media • Responsive Layout • Using Responsive Layout • Building Mobile-first Websites
  • 26. BOOTSTRAP • Twitter Bootstrap • 提供許多設計好的版面能讓使用者使用 • 設計了豐富現成的按鈕、表單 • 已經是 Responsive Website
  • 27.
  • 28. <div class="row"> <div class="col-md-4"> .col-md-4 </div> <div class="col-md-4 col-md-offset-4"> .col-md-4 .col-md-offset-4 </div> </div>
  • 29. OUTLINE • What is “Responsive Web Design” ? • Responsive Elements and Media • Responsive Layout • Using Responsive Layout • Building Mobile-first Websites
  • 31. MOBILE-FIRST WEBSITE • 為什麼要先先設計手機介面? • 智慧型手機使用者用越多 • 讓人專注在網站真正重要的地方 • 可以結合手機許多的特殊功能 Ex. Geolocation, Touch Event
  • 32. MOBILE-FIRST WEBSITE • RWD Desktop  Tablet  Mobile • Mobile First RWD Mobile  Tablet  Desktop
  • 33. Q&A