响应式布局

来源:互联网 发布:thinkphp商城免费源码 编辑:程序博客网 时间:2024/06/10 19:52

首先,要实现响应式布局,至少需要知道下面几个知识点

一、meta标签设置

下面的这段话在响应式布局里面必不可少

网页宽度调整

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
当然这里除了这两个属性之外,还可以加上其他几个属性,比较完整的是这个样子:
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">

所有主流浏览器都支持这个设置,包括IE9。对于那些老式浏览器(主要是IE6、7、8),需要另外重写。
<!--[if lt IE 9]><script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script><![endif]-->

常见的一些其他meta标签设置

很多触屏版的页面上都会加上下面几句meta标签,虽然和响应式关系不是太大,这里一并说了吧

<meta content="yes" name="apple-mobile-web-app-capable"><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection">
  • 第一个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览;
  • 第二个meta标签也是iphone的私有标签,它指定的iphone中safari顶端的状态条的样式;
    在web app应用下状态条(屏幕顶部条)的颜色;
    默认值为default(白色),可以定为black(黑色)和black-translucent(灰色半透明)。
    注意:若值为“black-translucent”将会占据页面px位置,浮在页面上方(会覆盖页面20px高度–iphone4和itouch4的Retina屏幕为40px)。
  • 第三个meta标签表示:告诉设备忽略将页面中的数字识别为电话号码。

三.不使用绝对宽度和字体

不使用绝对宽度

由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。

CSS代码不能指定像素宽度:

width:number px;

只能指定百分比宽度:

width: x%;

或者自动:

width: auto;

不使用绝对大小字体

只使用相对大小(em)字体,不能使用绝对大小(px)字体。下面这段代码的意思是:字体大小是页面默认大小的100%,即16像素;h1的大小是默认大小的1.5倍,即24像素(24/16=1.5);small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。

五.流式布局

六.media query 媒体查询

div{float: left;width: 30%;height: 100px;margin: 10px;}@media only screen and (max-width: 600px) {div{width: 95%;}}


0 0