响应式 Web 开发 – 设计和实现 – 源起



响应式 Web 开发 – 设计和实现 – 源起

0 0


RWD_presetation


On Github wendycan / RWD_presetation

响应式 Web 开发

设计和实现

by Wendy Wang

Github Id: wendycan

目录

  • 源起
  • 设计理念
  • 实现
  • Tips
  • 框架分析
  • 工具

源起

  • 智能手机越来越重要
  • 上网设备之间的尺寸差距与日俱增

智能手机越来越重要

gs.statcounter.com

上网设备之间的尺寸差距与日俱增

手机,平板,电脑……

传统的解决方法

拖动,放大: 东南大学 独立的手机站点: 一号店

响应式网页设计

RWD,Responsive Web Design,由伊桑·马科特(Ethan Marcotte)提出。他在 A List Apart 发表了一篇开创性的文章,将三种已有的开发技巧(弹性网格布局、弹性图片、媒体和媒体查询)整合起来,并命名为响应式网页设计。

设计理念

  • 网站不必在所有浏览器中表现一致
  • 移动先行,渐进增强

实现

  • viewport
  • media query

viewport

								
							
width指定虚拟窗口的屏幕宽度大小。 initial-scale指定初始缩放比例。 user-scalable指定是否允许手动缩放。

media query

								
@media screen and (min-width: 480px) and (max-width: 767px) {
  body{
    background: #ce33eb;
  }
}
							

逻辑操作符: and, not, only...

检测特性: width, height, device-width, device-height, orientation, aspect-ratio, color, color-index, monochrome, resolution...

Tips

  • 限制最大宽度
  • 百分比单位
  • 弹性图片
  • 导航栏

限制最大宽度

							
<div class="container">
 <h2>What will I learn?</h2>
</div>
							
						
							
.container {
  margin: auto;
  max-width: 800px;
}
							
						

百分比单位: em, rem

百分比单位: em, rem

弹性图片

							
img {
  max-width: 100%;
}
							
						

导航栏

框架分析

Foundation Bootstrap, ...

Foundation Media Query

两个断点: 40.063em 和 64.063em

Foundation Media Query

Foundation Visibility Class

工具

Modernizr

Modernizr 修复样式

							
.note {
  display: none;
}
.no-canvas .note {
  display: block;
}
							
						

Modernizr 按需加载

							
Modernizr.load({
  test: Modernizr.mq('only all'),
  nope: 'js/respond.min.js'
})
							
						

参考

THE END

BY Wendy Wang

Github: @wendycan