微信端页面使用-webkit-box和绝对定位时,元素上移的问题
-webkit-box 的用法
通常,在移动端要实现水平方向平分宽度的布局,会使用 -webkit-box 来布局。
它的使用方法是:
<div class='parent'>
<div class='child'></div>
<div class='child'></div>
<div class='child'></div>
</div>
.parent {
display: -webkit-box;
}
.child {
-webkit-box-flex: 1;
width: 1px;
}
以上布局会使得三个.child元素平分.parent元素的宽度。
在.child元素内添加绝对定位的子元素
<div class='parent'>
<div class='child'>
<div class='ele'></div>
</div>
<div class='child'>
<div class='ele'></div>
</div>
<div class='child'>
<div class='ele'></div>
</div>
</div>
.parent {
display: -webkit-box;
margin-top: 100px;
background-color: #ddd;
}
.child {
position: relative;
-webkit-box-flex: 1;
width: 1px;
}
.ele {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
height: 200px;
margin-top: -100px;
margin-left: -100px;
background-color: blue;
}
这种定位在chrome浏览器上是显示正常的,ele元素是在child元素的正中间。
但是,在微信端页面上,ele元素只是在child的水平方向居中,垂直方向上不居中,而是超出child元素,在child上方。
显示的效果是:
解决方法
要解决这个问题,只需要在child元素上添加一个固定的高度即可。代码如下:
.child {
position: relative;
-webkit-box-flex: 1;
width: 1px;
height: 500px;
}
显示的效果是:
原因分析
在浏览器中,绝对定位是脱离文档流的,所以ele元素不能撑起child元素的高度,导致child的高度是0,所以ele会顶到浏览器顶部。
给child元素设置高度后,ele的绝对定位就能通过child的高度来计算位置。
(完)
微信端页面使用-webkit-box和绝对定位时,元素上移的问题的更多相关文章
- HTML5中的audio在手机端和 微信端的自动播放
再做H5页面的时候,发现audio在手机端和微信端添加了autoplay以后还是不可以自动播放,这是因为手机端为了节约流浪所设置的 通常解决方法是给一个交互事件,一定要是交互事件 标签:<aud ...
- 安卓微信端打开H5页面背景图被键盘挤压移动位置解决
问题:在微信端(安卓浏览器也如此)打开的H5登录页面中,点击输入信息,弹出软键盘会挤压背景图片. 本来的body宽高设置body{width:100%,height:100%},不起作用,这样写就会导 ...
- 【移动端 Web】怎么循序渐进地开发一个移动端页面
1. 移动页面开发基础 1.1 像素——什么是像素 像素是 Web 页面布局的基础,那么到底什么才是一个像素呢? 像素:一个像素就是计算机屏幕所能显示一种特定颜色的最小区域.这是像素的概念,实际上,W ...
- 微信H5页面前端开发,大多数人都会遇到的几个兼容性坑
最近给公司微信公众号,写了微信h5业务页面,总结分享一下前端开发过程中的几个兼容性坑,项目直接拿的公司页面,所以下文涉及图片都模糊处理了. 1.ios端兼容input光标高度 问题详情描述:input ...
- 云瓣影音网站&&微信端(已开源)
随着该项目的发布到线上(小打小闹),即将又要开启另一段崭新的旅程.强迫自己停下来写写所学所得,个人认为总结和分享是一种很棒的学习方式.那让我们先来瞧瞧项目长的什么样.如果着急要源码的朋友,可以下拉到最 ...
- 移动端页面按手机屏幕分辨率自动缩放的js
<script> var phoneWidth = parseInt(window.screen.width); var phoneHeight = parseInt(window.scr ...
- 使用微信web开发者工具调试微信企业号页面(前端页面,已发布在服务器上的)
前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是做一个记录,方便自己以后使 ...
- pc端页面在移动端显示问题
1.pc端页面在移动端显示,默认视口宽度是980px(也就是body宽度是980px),可通过meta标签设置为需要的尺寸,比如页面中元素最大宽度是1220px,则如下所示 <meta name ...
- 领导让我重新做一个微信H5页面!
leader:我们需要做一个微信H5页面,效果如图,功能如描述,时间越快越好. 需求是不是很简单呢?2015-11-24 12:44:00文末有最新更新 背景描述 前几天微信转发相关项目开发后,这是第 ...
随机推荐
- 【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
问题描述 使用APIM,在 Inbound 中对请求的Body内容进行解析.客户端请求所传递的Request Body为XML格式,需要从Request Body中解析出多个(Element)节点值, ...
- 【持续更新】Git使用指南
Tutorial from cs61B 1. 理解Git的不同视角 文件状态图 从状态视角理解git: 一个文件有4种状态, 状态转换如图所示 从存储视角理解git: 工作区:电脑里能看到的目录 暂存 ...
- Python:pyglet学习(2)图形的旋转&batch
这次讲讲图形的旋转和批量渲染(rotate.batch) 1:图形旋转 先看看上次的代码中的一段: glRotatef(rot_y, 0, 1, 0) glRotatef(rot_z,0,0,1) g ...
- tp5 数据库迁移及数据填充
1:首先通过 composer 安装 原命令加空格 1.* 2:创建 3:填入数据 4:运行,刷新数据库 数据填充: 1:在命令行输入以下命令 composer require fzaninot ...
- 从刘维尔方程到Velocity-Verlet算法
技术背景 我们说分子动力学模拟是一个牛顿力学的过程,在使用量子化学的手段或者深度学习的方法或者传统的力场方法,去得到某个时刻某个位置的受力之后,就可以获取下一步的整个系统的状态信息.这个演化的过程所使 ...
- Linux服务器 I/O 原理和流程
计算机I/OI/O在计算机中指Input/Output,IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一.IOPS是指单位时间 ...
- SP2940题解
啃论文的时候论文里面的题. 题意: 区间加 询问区间前缀和之和的最值. 我们先弱化一下问题:将"区间"二字去掉. 我们思考一下一个点可能成为答案的条件.假设现在总共进行的区间加操作 ...
- 使用socat反向Shell多台机器
原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 场景 很多时候,我们需要批量操作多台机器,业界一般使用Ansible来实现,但使用Ansible来操作多台机器的前提是需 ...
- Js 调用 webservice
<html> <head> <title>通过ajax调用WebServive服务</title> </head> <script t ...
- Java案例——字符串拼接
/*案例:将一个int数组中的元素拼接为一个字符串 分析:1.静态定义一个int数组 2.定义方法将数组元素遍历并拼接,返回类型为String 3.定义变量接受方法所拼接出来的字符串 4.输出* */ ...