- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:这些问题似乎已被 iOS8 修复。将此问题视为 iOS7 和更早版本的错误。
我有一些内容(受 CORS 约束)在 iframe 中提供,我希望它们始终延伸到浏览器窗口的底部。我需要此内容保持相同的宽高比并填充浏览器的整个宽度,否则看起来会很奇怪。因为我无权访问 iframe 的内容,所以我正在使用 -webkit-transform: scale 以正确调整所有内容的大小。
我正在计算比例因子:
width = 600; // this is the original width of the iframe's contents and never changes
scaleFactor = window.innerWidth/width;
然后,每当 window.innerWidth 更改大小时,我都会根据该 scaleFactor 设置一些 CSS:
$container.css({
'width': (width * scaleFactor) + 'px',
'height': (height * scaleFactor) + 'px',
'padding': 0
});
$iframe.css({
'-webkit-transform': 'scale('+scaleFactor+')',
'transform': 'scale('+scaleFactor+')',
'-webkit-transform-origin': '0 0',
'transform-origin': '0 0'
});
这在任何地方都可以完美运行, iOS 除外,如果您放大得太远,它就会开始崩溃。 iFrame 开始偏离页面并且不够宽。我不知道这里发生了什么。
我所说的图像:Good scaling , Bad scaling .
我有一个 test page setup here清楚地说明了任何 iOS 上的问题。
有人有什么想法吗?
最佳答案
这是我放弃之前广泛调查的结果。
应用转换涉及两个主要问题:缩放到 iOS 上的 iframe 内的内容。第一个是我在原始问题中指出的内容,如果您使用固定位置元素,内容就会开始偏离页面上的指定位置。它的工作原理似乎是基于元素的原始大小、比例因子和可能的视口(viewport)宽度。在我的测试中,当以任何大于 0.85 的因子缩放时,大元素可能会完美缩放和定位。只要比例因子至少 >3.5,一个小元素就可以完美定位。这看起来几乎是随机的,所以我没有费心去确定确切的点是什么。
我没有在相对定位的元素上尝试这个,但我假设它们的功能类似于固定位置的元素。
对此有一个相当笨拙的解决方法,涉及使用使用滚动偏移量和 innerHeight 锚定到页面底部的绝对定位元素。即:
container.css('top', (document.body.scrollTop + window.innerHeight - container.height()) + 'px');
container.css('left', document.body.scrollLeft);
并在每次拖动、变换、捏合、调整大小等时更新此方法。此方法有一些奇怪之处(iOS 直到拖动完全停止后才更新滚动偏移)但如果您绝对必须这样做,它是可行的做吧。
然而,尽管这是可能的,但当您在 iOS 上的 iframe 中缩放内容时,如果您有任何 anchor 标记(或其他需要点击的元素),可点击区域将保持未缩放状态。如果您在 200x100 的 anchor 标记内有一张图片,并将其缩放 2 倍,则图片将是原来的两倍大,但 anchor 只会响应前 200x100。使用 iOS 模拟器,如果您双击可点击区域之外的图像,Safari 甚至可以帮助您使原始边界变暗,以便您知道可以点击的位置。如果您想显示不需要单击或其他输入的文本/图像以外的任何内容,这几乎是一个交易破坏者。更多信息在这里:
CSS3 Transform scaling issue on IPad Safari
"-webkit-transform: scale(2)" doesn't affect click area of Facebook Like Button (on iPad)
在 Apple 修复移动版 Safari 中这些长期存在的错误之前,尝试使用 webkit-transform 缩放 iframe 内容似乎不是一个可行的选择,除非您只针对 Chrome。
编辑:
关于javascript - -webkit-转换 : scale breaks down when zoomed in on iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21294771/
我正在尝试在 View 中同时使用 scalegesture 监听器和 gesturelistener。如果比例为 1,则一切正常,但如果将比例设置为其他值,图像会跳到一个新位置,然后平滑缩放。 我的
我在使用 Canvas 和 canvas.scale(Scale, Scale) 时遇到图像质量问题;它们看起来完全像下面这样: android:运行时调整大小的图像质量 我相信我已经阅读了所有关于调
我有一个使用 svg 过滤器附加阴影的 svg 图形。我需要缩放阴影,但找不到可以执行此操作的过滤器。有谁知道这是否可能?
我正在构建一个逻辑回归分类器。 我从一组 500.000 条记录开始,我只想使用其中的一个样本。 你有什么建议: 1) 缩放总体然后采样2)缩放样本3) 仅缩放样本的 X_TRAIN 分割? 为什么?
我有一个功能,我用它在鼠标进入时放大图片并在鼠标离开时返回到正常大小。问题是,如果我在允许图片返回正常大小之前快速将鼠标移出然后将鼠标移入,那么图片将从鼠标输入时当前的任何大小放大(x2.7) (并且
可以在 scale-y-2 中使用 zoomtovalues 吗?我在多个 y 轴上有几个系列,我想将每个 scale-y-n 缩放到特定值,但我不知道如何... 谢谢和问候, 最佳答案 我们在最近的
我正在尝试在 Android 中创建(我认为是)一个相对简单的动画。也就是说,我想让某个 TextView 在单击按钮时缩小到 0 并返回到 1。当我单击该按钮时实际发生的是 TextView 立即缩
我有一个元素需要缩放到父元素的 100%。因为该元素包含基于像素的动画和可以缩放的图像,所以我不能使用百分比。有没有办法使用 css transform scale 来做到这一点? 最佳答案 相对 c
我在 ChartJS 中遇到一个奇怪的错误并且不知道如何修复它,由于这个错误我无法更改比例的任何内容。 我的代码(Sensor.tsx): import { useParams } from "sol
我有一些数据,我正试图通过不断增加的分母来准确和精确地处理这些数据。 请假设分子总是有小数。 我在 docs 中看到divide(BigDecimal divisor) 实际上会减小比例,这看起来很奇
喂, https://jsfiddle.net/jbwq6y87/7/ #box { width: 500px; height: 500px; transition: 0.5s; ov
几个 Tk 小部件也存在于 Ttk 版本中。通常它们具有相同的一般行为,但使用“样式”和“主题”而不是每个实例的外观属性(例如 bg 等)。这很好,因为 Ttk 小部件默认采用操作系统窗口管理器的“标
我尝试转换视频并使用 scale=-1:720 调整其大小,但出现错误“宽度不能被 2 整除”。我解决了这个问题:scale=-2:720。 之间有什么区别 scale=-1:720 和 scale=
我正在尝试重新创建此 codepen变换:我网站上特定页面的缩放转换,但它没有按预期工作 - 正如您在此代码片段中看到的那样(在整页上查看) - 图像覆盖/覆盖不足和不稳定而不是平滑。 /* Part
我有 3 个 Scale 小部件 scale1、scale2 和 scale3。我想使用 scale1 按以下方式控制 scale2 和 scale3 的值: 我不希望 scale2 和 scale3
我目前正在将我的数据分析从 R 转移到 Python。在 R 中缩放数据集时,我会使用 R.scale(),据我所知,它会执行以下操作:(x-mean(x))/sd(x) 为了替换该函数,我尝试使用
从文档中,定义为: 量化 ..a variant of linear scales with a discrete rather than continuous range. The input do
我有一个时基折线图,我正在尝试获取点击坐标处每个刻度的值。 我在 ChartJS 选项中指定的 onClick 函数: onClick: function(event, elementsAtEvent
我见过这样写的代码: ,但我也看到过这样写的代码: initial-scale=1 和 initial-scale=1.0 有区别吗? 最佳答案 没有。 specification描述视口(viewp
给定 y 轴 (s) 上的缩放和 x 轴 (t) 上的平移参数,当目的是最大化曲线叠加(而不是最小化距离)时,如何缩放和对齐两条不重合的曲线? 正如 @DWin 所指出的,这可能会被重新命名为“如何使
我是一名优秀的程序员,十分优秀!