关于H5填写信息类页面横向布局总结
接触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填写信息类页面横向布局总结的更多相关文章
- win8效果的横向布局
有一个月没写过博客了,自己的博客也没有看过,前段时间一直在忙着写代码,公司有一个制漆的产品,与传统纵向布局不一样,要求页面横向布局,类似win8的那种布局效果,最开始,我也没有什么头绪,然后硬着头皮做 ...
- Html.java 存储页面信息类
Html.java 存储页面信息类 package com.iteye.injavawetrust.miner; /** * 存储页面信息类 * @author InJavaWeTrust * */ ...
- 超详细的php用户注册页面填写信息完整实例(附源码)
这篇文章主要介绍了一个超详细的php用户注册页面填写信息完整实例,内容包括邮箱自动匹配.密码强度验证以及防止表单重复等,小编特别喜欢这篇文章,推荐给大家. 注册页面是大多数网站必备的页面,所以很有必要 ...
- H5 页面 rem 布局适配方法
rem 布局适配方案 主要方法为: 按照设计稿与设备宽度的比例,动态计算并设置 html 根标签的 font-size 大小: css 中,设计稿元素的宽.高.相对位置等取值,按照同等比例换算为 re ...
- 谈谈iOS开发如何写个人中心这类页面--静态tableView页面的编写
本文来自 网易云社区 . 一.本文讲的是什么问题? 在开发 iOS 应用时,基本都会遇到个人中心.设置.详情信息等页面,这里截取了某应用的详情编辑页面和个人中心页面,如下: 我们以页面结构的角度考虑这 ...
- Bootstrap~页面的布局
回到目录 Bootstrap作为支持响应式布局的一个前端插件,确实发挥着重要的作用,无论你是在手机,平板还是PC上浏览网页,都能达到不错的效果,这一切一切,都是bootstrap带给我们的! 今天主要 ...
- HTML 页面源代码布局介绍
http://www.cnblogs.com/polk6/archive/2013/05/10/3071451.html 此介绍以google首页源代码截图为例: 从上到下依次介绍: 1.<!D ...
- cl查看类的内存布局
查看单个类的内存布局 Microsoft Visual Studio编译器cl的编译选项可以查看源文件中某个C++类的内存布局,对于想了解某个对象的内存布局的人来说十分直观和方便. • 命令格式 ...
- [CPP] 类的内存布局
本文可以解决下面 3 个问题: 以不同方式继承之后,类的成员变量是如何分布的? 虚函数表及虚函数表指针,在可执行文件中的位置? 单一继承.多继承.虚拟继承之后,类的虚函数表的内容是如何变化的? 在这里 ...
随机推荐
- 数据结构-浙大 MOOC 笔记一 基本概念
做一些笔记记录自己的学习过程 第一节课介绍了数据结构的基本概念,首先没有直接给出相关的定义而是通过思考如何在书架上摆放书籍这样一个简单的类比了解到数据的组织方式的重要性,并通过printN函数的循环实 ...
- js面向对象
什么事面向对象 用对象的思想去写代码,就是面向对象编程 面向对象编程(OOP)的特点 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有对象上继承出新的对象 多态:多对象的不同形态 对象的 ...
- LaTeX简单使用方法
Content LaTeX的用途 LaTeX文件布局 LaTeX的文档格式 公式环境 图的排版 表格的排版 有序列表和无序列表 引用 伪代码 参考文献 LaTeX的用途 LaTeX是一种基于TeX的排 ...
- nginx windows负载均衡入门
前言 做了几年开发,都是只管码代码,没有参与过项目的部署,为了知识体系更加完整,于是开始学习一下负载均衡.查了一下资料,觉得用nginx +iis 比较简单,于是小试牛刀. 步骤 准备工作 下载ngi ...
- USB_HID读写上位机VC++
在工程属性-->链接器-->添加以下库 open 打开,close 关闭,打开后将获得reader 与writer 的handle,分别进行读写即可 #pragma once #ifdef ...
- javaSE基础07
javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 stat ...
- 一个简单的判断浏览器是否为IE9以下的方法
if(!-[1,]){ //是IE placeHolderIE9_(); }else{ //非IE if(navigator.userAgent.indexOf("MSIE 9.0" ...
- js获取系统时间时自动补齐日期带零
最近在开发中发现有日期不规范的问题,正常规则应该是yy-mm-dd,而在输出时候却变成yy-mm-d,这是js的date()方法在作怪 解决思路是若在10号前,则自动给它补齐一个0,下面给出解决方法, ...
- STL string的构造函数
前几天在网上,一位网友问我几个问题如下: , 'A'); string S1 = "abcdefg"; , ); ); cout << "s0 = " ...
- for_each(c++11)
http://www.cplusplus.com/reference/algorithm/for_each/ template<class InputIterator, class Functi ...