H5移动前端完美布局之-margin百分比的使用

一 ,背景css

在移动端页面开发咱们常常会遇到一件尴尬的事 咱们所开发出来的页面跟设计师所给的页面差异很大 再加上移动设备屏幕的大小不一出来的效果更是良莠不齐

html

 

....前端

固然 现实状况没有这么糟糕...但由于前端页面是是最直接的展现给用户的 若是跟差别太大 这个页面实际上是失败的 而设计师也会不断的找你调视觉,因此咱们就要最大限度的实现设计 做为设计师和用户的桥梁完美的展示页面...css3

 

二,使用百分比web

在移动页面的布局上,咱们必需要考虑的是移动设备分辨率多样性,使用传统的px来定义一个块儿级元素是不理想的,由于你要为全部分辨率的手机都作适配是一件极其繁琐的事,虽然css3的媒体查询能够实现 ,但我我的认为媒体查询只适合跨平台的兼容 ,好比手机 ,ipad,pc 这三种设备同时实现一个页面并达到响应效果的时候,百分比的使用能够解决这个问题,由于他是相对的 相对于设备的宽度来使页面在不一样分辨率的手机上达到完美的响应,接下来咱们慢慢聊如何使用百分比chrome

 

三,百分比+margin 实现百分百响应app

在移动端开发的时候 咱们的页面初始化的时候都会写上这样一行代码iphone

html,body{width:100%; position:relative;}

将html,body元素的宽度设置为100%,目的是将页面100%撑开达到与设备宽度一致,由于百分比都是相对于父级而言的,将根节点的元素设置为100%,其子元素的宽度都会相对于父级来设置。布局

接下来咱们研究一下margin和百分比的配合使用ui

<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" />
    <meta name="apple-touch-fullscreen" content="YES" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="stylesheet" type="text/css" href="../css/reset.css">
     <style type="text/css">
       html,body{ width: 100%; position:relative;}
      .all{ width: 100%;}
      .header{ width: 100%; background: #ff6666; height: 40px; margin-top: 20%;}
    </style>
  </head>
  <body>
      
      <div class="all">
        <header class="header"></header>
      </div>

  </body>
</html>

咱们使用chrome的模拟器观察页面效果

模拟iphone6效果,设备的宽度是375px,经过侧面的尺度能够看到 咱们使用margin-top:20%,header元素距离顶部的高度是75px,咱们再改变下页面的宽度看看

当咱们把模拟器的宽度拉到500px时候 ,能够发现header距离顶部的高度变为100px;

因此不难发现 当使用百分比来给margin-top赋值的时候 距离顶部的高度其实 是设备宽度的百分比 (375*20%==75, 500*20%==100);同理 margin-left,margin-right,margin-bottom都同样能够这样使用;

四,实战应用

当咱们拿到设计师的页面的时候首先要算一把

 

下面区域距离上面区域的高度是20px 页面总宽度是750px 因此转换成页面的时候 下面的margin-top应该是 (20/750)%; 这样才会在全部设备上达到彻底响应的效果。下面是页面最终效果 扫码查看哟.

相关文章
相关标签/搜索