接触h5已经有快一年了,因为一直偏向页面重构所以在页面布局方面也算是经历过风风雨雨。所以总结一下自己用过的方法来比较归纳

首先来说,H5的页面一般分为两种,一种是用来做市场营销的,主要特征是图多,页面较花哨图片较多,一种是功能页,功能页顾名思义主要职能还是功能一般也是分为两种:展示类和填写类。今天主要说一下功能页的填写类页面

填写类的页面一般会涉及三个部分:页面标题form表单以及提交按钮

页面标题&form表单

其实页面标题和form表单一样,一般的布局是左中右,即主页-标题-返回等等,当然也有就只有标题的,这种就不做过多的介绍,下面主要说一下三栏布局

三栏布局实现起来的难点其实不在于如何一栏放三个元素也不在于如何让三个元素按照 靠左、 居中、靠右的方式排列,而是如果中间的一栏如果是一个input框,如何让这个input框可以充满中间部分

为什么要这么说呢

如果只是要三个元素都排在一起这个是很简单的,我可以都float,之后清除浮动就可以了。但是一旦都float起来,元素的宽度就变成了包含元素内容的宽度,即便是让其display:block依然不能挽回

然后这个时候,我们的重点要登场了,对,flex,这个flex是个好东西实现了伸缩布局。什么叫做伸缩布局?就拿我们的三个元素横排来说,我们的首项和尾项其实宽度是固定的,但是我们的中间项我们希望他可以充满中间的位置

这个就是我们说的伸缩布局。而且,这样一来不仅横向还有纵向,比如我们的表单下方是个提交按钮,我们希望它一直都在屏幕下方,但是表单又不会长度那么刚好那怎么办呢?对,用我们的flex,什么position:fixed/absolute在flex 面前简直就是歪门邪道。不过这个flex也不是省油的灯,前后出了三版应该是,我现在用的是第二版即display:box搭配flex:1,加完浏览器前缀兼容性可谓什么妖魔鬼怪什么美女画皮什么刀枪火海什么阴谋诡计都挡不住我的flex的如意棒 遣送bug朝西去,抱歉有点high,总之就是好用的不得了;但是鉴于时代在发展,社会在进步,没准哪天第二版会被完全淘汰,还是第二版(display:box)与第三版(display:flex)结合写方是上策。

flex如何使用百度一下你就知道,只强调一下不管是纵向还是横向伸缩,请确保伸缩对象的父容器伸缩的范围是100%,即height:100%/width:100%,尤其是纵向布局需要把heml,body均height:100%才能奏效哦~

好,接下来说一下我今天新发现的一种布局方式,前方高能,注意把控好你的情绪,表太激动哦~

先来代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>使用table-cell</title>
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"/>
<style>
body {
background-color: #80ff80;
padding: 0;
margin: 0;
}
.child {
display: table-cell;
vertical-align: middle;
word-wrap: break-word;
word-break: break-all;
white-space: nowrap;
} .container {
padding: 10px 15px;
display: block;
background-color: #fff;
border-bottom: 1px solid #eee;
} .middle {
width: 10000px;
} </style>
</head>
<body>
<article>
<div class="container">
<div class="child">icon</div>
<div class="child middle">
<p>标题文字</p>
</div>
<div class="child">
<p>
说明文字
</p> </div>
</div> </article> </body>
</html>

  对,就是table-cell;父元素不用搞那么磨磨唧唧,直接就子元素table-cell;中间的元素给一个看似实现不了的较大的一个宽度;要注意子元素们一定要写不换行的css,不然最右边的元素会竖直显示就像在table布局中一样,无论怎么挤,只要宽度可以包含那就都给你放里面,实在。所以为了保证右边的元素横向显示的逼格,让他不能换行就美丽新世界了~

  嗯,此处应该有掌声~

  因为还有别的开发任务先就写这一个点,其他布局会找时间再更新,客官你莫急哦~

关于H5填写信息类页面横向布局总结的更多相关文章

  1. win8效果的横向布局

    有一个月没写过博客了,自己的博客也没有看过,前段时间一直在忙着写代码,公司有一个制漆的产品,与传统纵向布局不一样,要求页面横向布局,类似win8的那种布局效果,最开始,我也没有什么头绪,然后硬着头皮做 ...

  2. Html.java 存储页面信息类

    Html.java 存储页面信息类 package com.iteye.injavawetrust.miner; /** * 存储页面信息类 * @author InJavaWeTrust * */ ...

  3. 超详细的php用户注册页面填写信息完整实例(附源码)

    这篇文章主要介绍了一个超详细的php用户注册页面填写信息完整实例,内容包括邮箱自动匹配.密码强度验证以及防止表单重复等,小编特别喜欢这篇文章,推荐给大家. 注册页面是大多数网站必备的页面,所以很有必要 ...

  4. H5 页面 rem 布局适配方法

    rem 布局适配方案 主要方法为: 按照设计稿与设备宽度的比例,动态计算并设置 html 根标签的 font-size 大小: css 中,设计稿元素的宽.高.相对位置等取值,按照同等比例换算为 re ...

  5. 谈谈iOS开发如何写个人中心这类页面--静态tableView页面的编写

    本文来自 网易云社区 . 一.本文讲的是什么问题? 在开发 iOS 应用时,基本都会遇到个人中心.设置.详情信息等页面,这里截取了某应用的详情编辑页面和个人中心页面,如下: 我们以页面结构的角度考虑这 ...

  6. Bootstrap~页面的布局

    回到目录 Bootstrap作为支持响应式布局的一个前端插件,确实发挥着重要的作用,无论你是在手机,平板还是PC上浏览网页,都能达到不错的效果,这一切一切,都是bootstrap带给我们的! 今天主要 ...

  7. HTML 页面源代码布局介绍

    http://www.cnblogs.com/polk6/archive/2013/05/10/3071451.html 此介绍以google首页源代码截图为例: 从上到下依次介绍: 1.<!D ...

  8. cl查看类的内存布局

    查看单个类的内存布局 Microsoft Visual Studio编译器cl的编译选项可以查看源文件中某个C++类的内存布局,对于想了解某个对象的内存布局的人来说十分直观和方便. • 命令格式    ...

  9. [CPP] 类的内存布局

    本文可以解决下面 3 个问题: 以不同方式继承之后,类的成员变量是如何分布的? 虚函数表及虚函数表指针,在可执行文件中的位置? 单一继承.多继承.虚拟继承之后,类的虚函数表的内容是如何变化的? 在这里 ...

随机推荐

  1. 键盘按钮keyCode大全

    字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 ...

  2. Asp.Net 数据库连接字符串

    <configuration> <connectionStrings> <add name="DefaultConnection" providerN ...

  3. 设计模式--装饰模式Decorate(结构型)

    一.装饰模式 动态地给一个对象添加额外的职责.就增加功能来说,装饰模式相比生成子类更为灵活.有时我们希望给某个对象而不是整个类添加一些功能. 二.UML图 1.Component(概念中提到的对象接口 ...

  4. Mybatis 拦截器

    Mybatis定义了四种拦截器: Executor (update, query, flushStatements, commit, rollback, getTransaction, close, ...

  5. java的异常总结

    异常:在java程序中也出现不正常的情况,这个就叫异常.java是面向对象的语言.任何事物都可以用类来描述,同样异常也是一种事物,java中提供了很多异常类 很多异常堆积起来叫做异常体系 Throwa ...

  6. Android笔记:蓝牙

    if (!BTAdapter.isEnabled()) { //没有打开,就启动确认窗口询问用户是否打开 Intent i = new Intent(BluetoothAdapter.ACTION_R ...

  7. java程序性能优化

    一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...

  8. brew 安装 mysql

    在网上看到各种教程,都会出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.soc ...

  9. VS2012 集成 IL DASM IL微软中间语言查看器

    第一步: 找到IL DASM的安装位置,默认在C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools 第二步: ...

  10. scikit-learn算法选择图

    图片来自sklearn官网 最近事情弄完一部分了,继续开始python data science!