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

Posted Jansens

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了普通网页怎么改成响应式布局相关的知识,希望对你有一定的参考价值。

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.    
  7. /* Tabled Portrait */  
  8. @media screen and (max-width: 768px) {  
  9.     #primary { width:100%; }  
  10.     #secondary { width:100%; margin:0; border:none; }  
  11. }  


完成以后,让我们看看你的布局是如何响应的。要做到这一点,我用这 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-800px怎么解决响应式网站,在移动端里面 hover点击两次的问题,(即:去掉hover效果)

响应式设计1---响应式布局介绍

响应式布局

响应式布局

响应式布局

网页布局及响应式