zoukankan      html  css  js  c++  java
  • 自适应网页前端设计相关

      自适应网页设计,英文名称叫Responsive Web Design.主要目的是为了在大小不同的设备上呈现相同的内容。本人在工作中遇到要用html写一个页面嵌入到android的webview中。这样的web设计起来就和PC 浏览器的web设计不太一样,主要是要考虑到移动设备屏幕分辨率不一样的问题。

      经过我的观察,新浪微博有pad  web 入口,手机 web 入口(两种m.weibo.com和m.weibo.cn),PC web入口,三种不同的前端,维护起来当然比较麻烦,而自适应网页设计做出的网页,一个前端能解决3中入口,当然技术上是有一定难度的。http://bradfrostweb.com/demo/mobile-first/#这个网页就是自适应网页,无论怎么调整浏览器的大小,所有UI都能适当的显示。那么怎么设计这么绚丽的网页呢,如下:

    1. 在网页代码的head标签内加入如下代码:

     

    <meta name="viewpoint" content="width =device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable=no" />

    其中initial-scale为初始化大小,即原始缩放比例,maximum-scale - 允许用户缩放到的最大比例,user-scalable - 用户是否可以手动缩放。

    2. 字体和宽度不是用px

      一般我们设计使用宽度如 xxx px; 但是要自适应的话最好改成 xx % 或者auto。字体我们不用px而是使用em来指定字体的大小,具体px和em怎么转换请网上自查。

    3. 布局问题

      我们使用流布局:float。好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。

    4. 加载CSS

      核心思想就是判断屏幕的宽度然后选择就加载相应的CSS文件。具体例子:

      

    <link rel="stylesheet" type="text/css"
     media="screen and (max-device- 480px)"
     href="mobile.css" />

      以上代码的意思是当屏幕宽度小于480px的时候,加载mobile.css文件。当然屏幕宽度判断也可以是区间。我们也可以直接在CSS中判断需要加载的内容,例如:

    @media screen and (max- 480px) {
        .div1 {
          float: none;
          auto;
        }
        #div2 {
          display:none;
        }
      }

      以上代码意思是,如果屏幕宽度小于480像素,则div1(class)块取消浮动(float:none)、宽度自动调节(auto),div2(id)块不显示(display:none)

    5. 图片自适应

      img标签的话,只需要设置 max- 100%;或100%;

      css加载的background-image如何自适应大小呢,其实CSS3中是可以实现的,如下:

    style="
        background-image:url(qipa.png);
        background-size:100% 100%;
        -moz-background-size:100% 100%; /* 老版本的 Firefox */
        background-repeat:no-repeat;"

    以上代码中加载的qipa.png图片就是可以自适应大小的。

    国内各种博客中也发现关于这方面的内容基本都出自同一内容,没有什么大的亮点,其实直接看外国文章是非常好的办法,以下就是国外关于自适应web的博文:

    http://www.html5rocks.com/en/mobile/responsivedesign/

    讲的非常详细,当然也有人翻译成了中文,想要的可以留下邮箱。

  • 相关阅读:
    信号之可重入函数
    信号的发送
    守护进程详解以及start-stop-daemon命令
    信号基本概念
    常用进程调度算法(转)
    malloc/free与new/delete的区别(转)
    IP地址转换
    exec系列函数详解
    fork函数拓展
    leetcode第156场周赛5205
  • 原文地址:https://www.cnblogs.com/xue2b/p/ResponsiveWebDesign.html
Copyright © 2011-2022 走看看