zoukankan      html  css  js  c++  java
  • 响应式布局学习笔记

    静态、自适应、流式、响应式四种网页布局有什么区别?

     

    静态布局(Static Layout)
    即传统Web设计,对于PC设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;
    对于移动设备,单独设计一个布局,使用不同的域名如wap.m.

     

     

     

    适应布局(Adaptive Layout
    自适应布局(Adaptive)的特点是分别为不同的屏幕分辨率定义布局。布局切换时页面元素发生改变,但在每个布局中,页面元素不随窗口大小的调整发生变化。

     

     

     

    流式布局(Liquid Layout
    流式布局(Liquid)的特点(也叫"Fluid") 是页面元素的宽度按照屏幕进行适配调整,主要的问题是如果屏幕尺度跨度太大,那么在相对其原始设计而言过小或过大的屏幕上不能正常显示。

     

    响应式布局(Responsive Layout
    分别为不同的屏幕分辨率定义布局,同时,在每个布局中,应用流式布局的理念,即页面元素宽度随着窗口调整而自动适配。
    可以把响应式布局看作是流式布局和自适应布局设计理念的融合。

     

    [开始]

     

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

     

    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

     

     

     

    Max Width

     

    @media screen and (max- 600px) {
      .class {
        background: #ccc;
      }
    }

    如果你想链接到一个单独的样式表,把下面的代码放在<head>标签里。

     

    <link rel="stylesheet" media="screen and (max- 600px)" href="small.css" />

    Multiple Media Queries

    你还可以使用过个匹配条件,下面的样式会在可视区域的宽度在 600px 和 900px 之间的时候被应用。

    @media screen and (min- 600px) and (max- 900px) {
      .class {
        background: #333;
      }
    }

    Device Width

    @media screen and (max-device- 480px) {
      .class {
        background: #000;
      }
    } 

    Media Queries for IE

    遗憾是的,IE8 及更老版本的浏览器不支持 CSS3 Media Queries,不过可以使用 Javascript  弥补,下面是一些解决方案:

    Respond.js让IE6-8支持CSS3 Media Query

    Bootstrap里面就引入了这个JS文件,从名字看出来是自适应的兼容。打开IE看了一下,效果挺好的,自适应的效果挺好的。Respond.js让不支持css3 Media Query的浏览器包括IE6-IE8等其他浏览器支持查询。

     

    官方demo地址:http://scottjehl.github.com/Respond/test/test.html
    1.在css中正常用 min/max-width media queries

    2.引入respond.min.js,但要在css的后面(越早引入越好,在ie下面看到页面闪屏的概率就越低,因为最初css会先渲染出来,如果respond.js加载得很后面,这时重新根据media query解析出来的css会再改变一次页面的布局等,所以看起来有闪屏的现象)

     

     

    <!--[if lt IE 9]>
            <script src="../static/js/respond.min.js"></script>
        <![endif]-->

     

     

    下面是我做的一个demo

     技术交流QQ群:15129679

     

  • 相关阅读:
    Mybatis实现简单的数据库增删改查操作
    MySQL压缩版安装配置教程
    ClassLoader简单教程
    Javascript Duff装置 循环展开(Javascript Loop unrolling Duff device)
    Visual Studio warning MSB3270:There was a mismatch between the processor architecture of the project being built "MSIL"
    Register/unregister a dll to GAC
    sign a third-party dll which don't have a strong name
    SQL Server(SSIS package) call .net DLL
    the convertion between string and BlobColumn
    bulk insert data into database with table type .net
  • 原文地址:https://www.cnblogs.com/yeminglong/p/6283297.html
Copyright © 2011-2022 走看看