HTML 关于绝对定位的问题手机端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML 关于绝对定位的问题手机端相关的知识,希望对你有一定的参考价值。

我在一个DIV里写了position:fixed;将这个DIV定位在底部,电脑端无问题,当我在手机端向下滑动时DIV位置就不一样了!用过别的浏览器都一样但用QQ自带的浏览器时就跟电脑端一样不会像图片里所示。注:图1正常,图2不正常,图3正常
发错了这是图2

尽量不要用fix,毕竟手机浏览器的处理效果不如pc强,你在拖动的时候,浏览器需要不停的计算你div的位置,一个卡住就跑上去了。一般基本思路就是减少页面css的计算量,通常两种做法:
1、用js获取手机屏幕高度,然后你直接用absolute从上往下写top高度=屏幕高度-浮动条本身高度
2、做伪拖动,也就是并不是实际拖动手机的html高度,而是靠overflow的溢出属性,把需要拖动的内容放在上面的div里,然后用js动态判断手机屏高度然后再赋值。最下面的div本身不做任何浮动处理,直接跟在后面(不过这个也有坑,overflow的拖动体验不如原生拖动,手机不给力可能会一卡一卡的,需要webkit的属性支持)
顺便想到新的css3的flex结构,不过这个我自己没试验过,不知道能不能成为新的解决办法,愿意的话你自己也能试试。
参考技术A 贴出代码,不然很难分析出问题

绝对定位对margin外边距的影响

绝对定位对margin外边距的影响:
关于什么是绝对定位和外边距这里就不多介绍了,具体可以参阅以下两篇文章。
(1).绝对定位可以参阅CSS的绝对定位一章节。
(2).外边距可以参阅CSS的外边距一章节。
下面就通过代码实例介绍一下绝对定位对于margin外边距的影响。
代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css"> 
*{
  margin:0px;
  padding:0px;
}
#box{
  width:200px;
  height:100px;
  background:red;
  margin-left:50px;
}
#antzone{
  width:100px;
  height:50px;
  background:green;
  position:absolute;
  margin-left:10px;
  left:0px;
}
</style>
</head>
<body>
<div id="box">
  <div id="antzone"></div>
</div>
</body>
</html>

由上面的代码可以看出,元素的margin外边距的参考对象由原来的父元素,变成了绝对定位参考元素。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=18132

更多内容可以参阅:http://www.softwhy.com/divcss/

以上是关于HTML 关于绝对定位的问题手机端的主要内容,如果未能解决你的问题,请参考以下文章

html音乐用了绝对定位就按不了了

关于相对定位与绝对定位的区别

关于使用绝对定位使元素垂直居中的问题

绝对定位对margin外边距的影响

关于绝对(固定)定位居中的问题

HTML+CSS中关于绝对定位和相对定位定位的优缺点以及该注意的地方,现在最好的定位方式是怎么定位?