首页 > 解决方案 > 移动浏览器的负定位绝对div问题

问题描述

我遇到了一个问题。我有一个绝对定位的 div 并使用负右值将其隐藏在屏幕之外。这在桌面浏览器上很好,但我在移动 safari 上发现我可以水平滚动并基本上将元素滑动到视图中。

我在下面尝试了一个非常简单的版本:

<!doctype html>
<html class="no-js" lang="">
<!-- v3 -->
<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Block Test</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
<style>

.wrapper {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.disrupt {
  width: 300px;
  height: 300px;
  background: #000;
  position: absolute;
  top:0;
  right: -150px;
}

</style>
</head>

<body >
<div class="wrapper">
  <div class="disrupt">
  </div>
</div>

</body>

</html>

在桌面浏览器中它工作正常,在 iPhone 上的 Safari 和 Chrome 中,我可以将中断块的隐藏部分滚动到视图中。安卓上的 Chrome 似乎工作正常。有任何想法吗?

标签: htmlcss

解决方案


推荐阅读