如何在 iPhone 上“隐藏”屏幕外的内容?

Posted

技术标签:

【中文标题】如何在 iPhone 上“隐藏”屏幕外的内容?【英文标题】:How do I 'hide' content off screen on the iPhone? 【发布时间】:2012-06-11 10:18:42 【问题描述】:

我正在构建一个响应式网络应用程序,它的移动/瘦身部分隐藏了屏幕外的各种面板。我发现将这些项目放置在右侧,即left: 100%“隐藏”并不能正确隐藏该项目,因为即使它位于 htmlbody 区域之外,移动 safari 仍会显示它。

我想通过添加这个类来滑动这些隐藏的项目:.focused(使用 jQuery 点击事件),它将left 的值更改为0。该类应用了一个 CSS 变换,它也处理动画。

在测试时,我发现将隐藏面板放置在左侧可以正常工作。

谁能为我提供更好的解决方案?我真的需要将隐藏的内容放在右侧。

这里有一些 CSS 可以告诉你发生了什么:

#hidden-item 
  position: absolute;
  top: 50px;
  left: 100%;
  width: 100%;

  -webkit-transition: all 0.5s ease-in;
  -moz-transition: all 0.5s ease-in;
  -ms-transition: all 0.5s ease-in;
  -o-transition: all 0.5s ease-in;
  transition: all 0.5s ease-in;

  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;



#hidden-item.focused 
  left: 0;

  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);

【问题讨论】:

【参考方案1】:

我知道这篇文章已经很老了,但我最近遇到了同样的问题。我使用视口元数据标签来处理这个问题,使用固定宽度。还可以通过 CSS 中的媒体查询应用固定宽度和 overflow-x: hidden 到正文,可能会有所帮助。

<meta name="viewport" content="width=960; user-scalable=no; initial-scale=1.0; maximum-scale=1.0;">

希望这对某人有所帮助。

【讨论】:

【参考方案2】:

从外观上看,您已经快到了。您需要确保#hidden-item 的父元素具有宽度设置和位置:固定或绝对。

看看这个 jsfiddle 稍微修改了你的 css:http://jsfiddle.net/HNrCD/2/

【讨论】:

我宁愿不使用position:fixed;,因为对旧ios版本的支持很差,但我说在那些旧版本上,它充当position: absolute;是对的吗?顺便说一句,谢谢! 我刚刚修改了我的代码以使用position: fixed;,它在项目的放置方面起作用,但我的内容在折叠下方流动,这意味着它在我的 iPhone 上无法访问。我不能使用position: fixed;。还有其他选择吗?一定有人做过这件事……

以上是关于如何在 iPhone 上“隐藏”屏幕外的内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 中隐藏窗口屏幕并在一段时间后显示屏幕?

如何使用 iOS 13 在 iPad/iPhone 上隐藏页面缩放栏

iphone如何自动化点击屏幕?

延伸到屏幕外的 HTML 表格

如何将 iPhone 的屏幕在 Mac 上显示出来

iPhone - 我如何隐藏视图并让它的空间被其他视图使用(如 android visibility = GONE)