响应式网页设计初探
我首次接触响应式网页设计还要从应用bootstrap说起。我们运用bootstrap的网格类简单的将响应式设计带入我们的网页设计当中,当然bootstrap框架其实还做了其他事情以支持网页响应式设计。现在,就让我们一窥响应式网页设计背后的原理。
实现响应式设计的前提:允许网页缩放
<meta name="viewport" content="width=device-width, init-scale=1.0">
视口的 meta 标签,重写了默认的视口,并帮助加载与特定视口相关的样式。
width 属性设置屏幕宽度。它包含一个值,比如 320,表示 320 像素,或者值为 'device-width',用来告诉浏览器使用原始的分辨率。
initial-scale 属性是视口最初的比例。当设置为 1.0 时,将呈现设备的原始宽度。
实现响应式设计的核心:CSS3的媒体查询
自动探测屏幕宽度,选择加载相应的CSS文件。
常用于布局的CSS Media Queries有以下几种
设备类型(media type):
all
所有设备screen
电脑显示器print
打印用纸或打印预览视图handheld
便携设备tv
电视机类型的设备speech
语意和音频盒成器braille
盲人用点字法触觉回馈设备embossed
盲文打印机projection
各种投影设备tty
使用固定密度字母栅格的媒介,比如电传打字机和终端
设备特性(media feature):
width
浏览器宽度height
浏览器高度device-width
设备屏幕分辨率的宽度值device-height
设备屏幕分辨率的高度值orientation
浏览器窗口的方向纵向还是横向,当窗口的高度值大于等于宽度时该特性值为portrait,否则为landscapeaspect-ratio
比例值,浏览器的纵横比device-aspect-ratio
比例值,屏幕的纵横比
example:
- /* for 240 px width screen */
- @media only screen and (max-device-width:240px){
- selector{ ... }
- }
- /* for 320px width screen */
- @media only screen and (min-device-width:241px) and (max-device-width:320px){
- selector{ ... }
- }
- /* for 480 px width screen */
- @media only screen (min-device-width:321px)and (max-device-width:480px){
- selector{ ... }
- }
其他知识
1 CSS 不使用绝对宽度,而用百分比宽度
.p {width:80%}
2 字体不使用px为单位,改用em单位
3 针对不同宽度的设备,实现图片的自适应加载
参考连接:
1.https://isux.tencent.com/responsive-web-design.html
2.http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html
3.http://www.runoob.com/bootstrap/bootstrap-v2-responsive-design.html