普通网页怎么改成响应式布局

1 – 布局

  当创建一个响应式网站,或让现有的网站变成响应式的,首先要关注的元素的布局。我在建立响应式的网站,总是先创建一个非响应的布局,页面宽度固定大小。如果非响应版本完成得非常不错,我再添加媒体查询(Media Queries)和响应式代码。这种操作方式更容易实现响应式特性,在同一时间专注于一个任务。

  当你已经完成了无响应的网站,做的第一件事是在你的 HTML 页面,粘贴下面的代码到<head>和</head>标签之间。这将设置屏幕按1:1的尺寸显示,在 iPhone 和其他智能手机的浏览器提供网站全视图浏览,并禁止用户缩放页面。

[html] view plain copy

  1. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
  2. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  3. <meta name="HandheldFriendly" content="true">

现在是时候添加一些媒体查询了。根据 W3C 网站,媒体查询由媒体类型和零个或多个媒体查询的条件表达式组成。通过使用媒体查询,外观呈现可以针对特定范围内的输出设备,而不需要改变内容本身。换句话说,媒体查询让您的网站在各种各种显示器上看起来都很好,从小的智能手机到大的电脑屏幕等等。

  媒体查询取决于你的网站布局,所以对我来说为您提供一个现成可以使用的代码片段有点困难。但是,下面的代码对于大多数网站都是一个很好的起点。在这个例子中,#primary 是主要内容区域,#secondary 是侧栏。

  从代码中你可以看到,我定义了两种规格:首先有一个最大宽度为1060px,为平板电脑优化的横向显示。#primary 占在其父容器宽度的67%,#senondary 占30%,再加上3%的左外边距。 第二个规格是用于平板电脑和更小的屏幕尺寸。

  由于智能手机的屏幕尺寸小,我决定给 #primary 设置100%的宽度,#secondary 也设置100%的宽度,他将在 #primary 下面。 正如我已经说过的,你可能必须要对这段代码位进行修改才能适应您的网站的具体需求。

[css] view plain copy

  1. /* Tablet Landscape */
  2. @media screen and (max-width: 1060px) {
  3. #primary { width:67%; }
  4. #secondary { width:30%; margin-left:3%;}
  5. }
  6. /* Tabled Portrait */
  7. @media screen and (max-width: 768px) {
  8. #primary { width:100%; }
  9. #secondary { width:100%; margin:0; border:none; }
  10. }

完成以后,让我们看看你的布局是如何响应的。要做到这一点,我用这 Matt Kersley 创建的一款非常的响应式测试工具

2 – 媒体

  一个响应式的布局是实现响应网站的第一步。现在,让我们把注意力集中在另外一个现代化网站非常重要的方面:媒体,如视频或图像。 下面的 CSS 代码将确保您的图像将永远不会大于他们的父容器,代码非常简单,适用于大多数网站。请注意,IE6 等旧的浏览器不支持 max-width 指令。

img { max-width100%; }

虽然上述技术是有效的,有时你可能需要有更多的图像控制权,例如根据客户端的显示大小,显示不同的图像。

  这是由 Nicolas Gallagher 发明的好方法。让我们看看 HTML:

<img src="image.jpg" data-src-600px="image-600px.jpg" data-src-800px="image-800px.jpg" alt="">

正如你可以看到,我们使用 data-* 属性来存储替换图像的 URL。现在,让我们使用强大的 CSS3 来为匹配 min-device-width 条件的媒体指定替换图像:

@media (min-device-width:600px) {

    img[data-src-600px] {

        contentattr(data-src-600pxurl);

    }

}

@media (min-device-width:800px) {

    img[data-src-800px] {

        contentattr(data-src-800pxurl);

    }

}

令人印象深刻,是不是?现在,让我们来看看另一个在今天的网站中非常重要的媒体——视频。由于大多数网站使用的视频来自第三方网站,我决定把重点放在 Nick La 的弹性视频技术,这种技术可让您嵌入的响应式的视频。

HTML:


1

2

3

<div class="video-container">

    <iframe src="http://player.vimeo.com/video/6284199?title=0&byline=0&portrait=0" width="800" height="450" frameborder="0"></iframe>

</div>

CSS:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

.video-container {

    positionrelative;

    padding-bottom56.25%;

    padding-top30px;

    height0;

    overflowhidden;

}

.video-container iframe, 

.video-container object, 

.video-container embed {

    positionabsolute;

    top0;

    left0;

    width100%;

    height100%;

}

在你的网站上应用了这些代码后,嵌入的视频也是响应式(Responsive)的了。

3 – 字体

  本教程的最后一步绝对非常重要,但往往被网站开发人员忽视——字体。到现在为止,大多数开发人员(包括我自己)使用像素来定义字体的大小。虽然像素在普通网站使用是OK的,但是对于响应式网站来说应该有响应式的字体。事实上,一个响应式的字体大小应关联它的父容器的宽度,这样它才可以适应客户端的屏幕。

  CSS3 规范引入了一个新的单位叫 rem,和 em 类相似,但相对于 HTML 元素来说, rem 更易于使用。

  rem 是相对于 HTML 元素的,不要忘了重置 HTML 的字体大小:


1

html { font-size:100%; }

  

  完成后,您可以定义响应式的字体大小,如下所示:


1

2

3

@media (min-width640px) { body {font-size:1rem;} }

@media (min-width:960px) { body {font-size:1.2rem;} }

@media (min-width:1100px) { body {font-size:1.5rem;} }

时间: 2024-10-11 23:12:54

普通网页怎么改成响应式布局的相关文章

Bootstrap页面布局6 - BS把已有的固定宽度布局转换成响应式布局

首先引入文件bootstrap-responsive.css <link href="bootstrap/css/bootstrap-responsive.css" rel="stylesheet"> bootstrap-responsive.css这个样式表已经为我们针对常用的上网设备做好了相应的响应式设计: 比如: 分辨率宽度1200像素以上的屏幕上,网格的宽度会由60px变为70px,且网格与网格之间的距离由20px变为30px 在平板电脑的垂直状

响应式布局及其实用类

所谓响应式布局,就是根据浏览尺寸的不同,做出相应的变化 其原理是利用 CSS3 的 media queries 判断浏览窗口的尺寸 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Media Queries</title> 6 <link type="text/css&

CSS3的响应式布局Home / HTML/CSS / CSS3的响应式布局

做手机端网页需要用到响应式布局,首先需要再HTML文件头声明一下: 主要目的是宽度控制和禁止用户缩放,具体参数自己GOOGLE一下. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> 下面是CSS判断是PC端还是移动端其实很简单,用CSS3的媒体查询

网页响应式布局

如果我们写了个网页想让它在不同屏幕的分辨率.清晰度.屏幕的显示方式(横屏.竖屏)上正常的显示,就需要一种弹性栅格式布局,不同尺寸下弹性适应,响应式布局能达到这个要求. 一:先来说说它的优缺点 优点: 面对不同分辨率设备灵活性强 能够快捷解决多设备显示适应问题 缺点: 兼容各种设备工作量大,效率低下 代码累赘,会出现隐藏无用的元素,加载时间加长 其实这是一种折衷性质的设计解决方案,多方面因素影响而达不到最佳效果 一定程度上改变了网站原有的布局结构,会出现用户混淆的情况 二:接着说说应该去怎么设计响

重温&quot;什么是响应式网页设计?响应式布局的实现原理&quot;

概念 响应式网页设计最初是由 Ethan Marcotte 提出的一个概念:为什么一定要为每个用户群各自打造一套设计和开发方案?Web设计应该做到根据不同设备环境自动响应及调整.当然响应式Web设计不仅仅是关于屏幕分辨率自适应以及自动缩放的图片等等,它更像是一种对于设计的全新思维模式:我们应当向下兼容.移动优先. 背景 PC互联网加速向移动端迁移:2012年12月底我国网民规模达到5.64亿,互联网普及率为42.1%,手机用户占网民总数的74.5%.预计到2015年,移动互联网的数据流量将超越P

巧用 BootStrap --- 栅格系统(布局)轻松搞定网页响应式布局!

摘要:Bootstrap 为我们提供了一套响应式.移动设备优先的流式栅格系统,合理的使用栅格系统将会使得网站页面布局变得更加简单,在设置了媒体查询之后,响应式网站也无需再单独写了.接下来我以Bootstrap的中文官网首页为模板进行展示其栅格布局的使用方法以及相关知识点.相信在看完这篇文章之后,你完全可以轻松使用栅格布局. 网站效果图如下所示: PC版: 移动版: 1.栅格系统(布局) Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加

网页布局——响应式布局

响应式布局是一个网站能够兼容多个终端---而不是为每个终端做一个特定的版本 @media all(用于所有的设备) || screen (用于电脑屏幕,平板电脑,智能手机等)  and|not|only(三个关键字可以选) 1 <head> 2 <style media="screen"> 3 @media screen and (max-width:600px){ 4 .con{ 5 background:red; 6 } 7 } 8 @media scree

html5 响应式布局

响应式布局 第一:正确理解响应式布局 响应式网页设计就是一个网站能够兼容多个终端-而不是为每个终端做一个特定的版本.打个比方来说:现在社会有很多响应产品,例如折叠沙发,折叠床等等,当我们需要把沙发放到一个角落的时候,此刻沙发就好比div吧,而角落里的某个地方就好比父元素,由于父元素空间的改变,我们不得不调整div,让它能够依然放在角落里.在项目中你会遇到不同的终端,由于终端分辨率不同,所以你要想让用户体验更好,就必要让你的页面能够兼容多个终端. 第二:响应式设计的步骤 响应式设计的步骤就是1.编

利用media query写响应式布局

最近才接触到响应式布局的概念,之前用到的bootstrap就是一种响应式布局的框架.学习的时候参考了http://blog.csdn.net/shoyer/article/details/8293011这篇文章. 简单记录一下用css写响应式布局的方法.大概可以这么理解,通过判断屏幕的大小来调整css的样式从而达到适应不同屏幕的目的. 首先先贴一个html,css都放在同级的css文件夹下面,因为有个简单的轮播,所以要引入jquery <!DOCTYPE html> <html>