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

移动开发
当然 现实情况没有这么糟糕...但因为前端页面是是最直接的展示给用户的 如果跟差异太大 这个页面其实是失败的 而设计师也会不断的找你调视觉,所以我们就要最大限度的实现设计 作为设计师和用户的桥梁完美的展现页面...

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

当然 现实情况没有这么糟糕...但因为前端页面是是最直接的展示给用户的 如果跟差异太大 这个页面其实是失败的 而设计师也会不断的找你调视觉,所以我们就要***限度的实现设计 作为设计师和用户的桥梁***的展现页面...

 

二,使用百分比

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

 

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

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

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

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

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

 

  1. <!DOCTYPE HTML> 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
  5. <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" /> 
  6. <meta name="apple-touch-fullscreen" content="YES" /> 
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black" /> 
  8. <link rel="stylesheet" type="text/css" href="../css/reset.css"
  9. <style type="text/css"
  10. html,body{ width: 100%; position:relative;} 
  11. .all{ width: 100%;} 
  12. .header{ width: 100%; background: #ff6666; height: 40px; margin-top: 20%;} 
  13. </style> 
  14. </head> 
  15. <body> 
  16.  
  17. <div class="all"
  18. <header class="header"></header> 
  19. </div> 
  20.  
  21. </body> 
  22. </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)%; 这样才会在所有设备上达到完全响应的效果。

责任编辑:chenqingxiang 来源: 博客雨
相关推荐

2011-03-31 16:16:43

Cacti监控

2011-04-06 10:57:11

Cacti监控

2024-05-11 08:11:19

CSS百分比开发

2021-07-08 06:47:21

Python

2017-03-16 09:10:41

鱼缸式信息图表计算

2021-09-26 08:22:51

CSS 技巧百分比

2022-08-16 15:04:02

iOS电池修复

2011-08-02 21:46:11

SQL Server数按百分比查询

2022-10-26 09:01:55

H5移动端调试

2018-08-29 13:57:40

前端性能测试Html5

2021-06-23 06:30:14

H5 移动端前端开发

2021-04-19 07:37:16

前端CSS包含块

2022-06-27 09:48:15

H5移动互联网页面性能

2013-05-21 09:49:22

Quickbooks云安全云存储服务

2019-12-24 13:40:16

数据科学PythonPytorc

2020-03-24 09:34:00

移动端H5软键盘

2016-03-10 11:21:57

H5前端框架

2017-05-24 10:12:54

前端FlexboxCSS3

2017-08-16 10:57:25

H5HTML开发

2012-12-24 11:13:17

CSSjQueryJavaScript
点赞
收藏

51CTO技术栈公众号