gpt4 book ai didi

移动 Safari 中的 CSS3 转换会破坏 CSS 属性更改吗?

转载 作者:行者123 更新时间:2023-11-28 14:19:10 25 4
gpt4 key购买 nike

我有一个页面,其中有一个元素会在某些事件触发时移动。我正在使用 CSS3 过渡来使其平滑移动。它在 Firefox、Chromium(Google Chrome)和 Safari(Windows)、Android 浏览器(2.3.7)和 Firefox Mobile for Android(又名 Fennec)上运行良好。在 Internet Explorer 上,它会忽略过渡属性,只是按预期突然移动元素。

不过,它不适用于 Mobile Safari。如果我定义了 -webkit-transition,该元素根本不会移动。我正在使用第一代 iPod Touch 进​​行测试,因此这可能只是旧版本的问题。我的 iOS 版本是 3.1.3 (7E18)。

JavaScript 动画效果(通过 jQuery)工作正常,但在提到的任何设备上运行不流畅。我宁愿使用 CSS3 解决方案。

更新的 iOS 设备也有这个问题吗?

是否记录并解释了问题?如果是这样,有人可以提供链接吗?

有变通办法吗?

我创建了一个简单的测试页面来演示我的问题。正如我所说,该元素不会在 Mobile Safari 中移动,除非我删除 -webkit-transition 行。

<!doctype html>
<html>
<head>
<meta name="viewport" content="initial-scale=1">
<style type="text/css">
#box {
border: 3px outset gray;
font-size: xx-small;
color: silver;
background-color: black;
position: absolute;
width: 50px;
height: 50px;
top: 100px;
left: 220px;
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
}

a {
display: table-cell;
text-align: center;
vertical-align: middle;
color: black;
text-decoration: none;
width: 100px;
height: 100px;
background-color: silver;
border: 2px outset gray;
}
</style>

<script type="text/javascript">
var box;
window.onload = function(){
box = document.getElementById("box");
}

var getTop = function(obj){
var curtop = obj.offsetTop;
obj = obj.offsetParent;
while (obj){
curtop += obj.offsetTop;
obj = obj.offsetParent;
}
return curtop;
};

var moveUp = function(obj){
var curtop = getTop(obj);
obj.style.top = (curtop - 20) + "px";
return false;
};

var moveDown = function(obj){
var curtop = getTop(obj);
obj.style.top = (curtop + 20) + "px";
return false;
};
</script>
</head>
<body>
<div id="box">
<p>This is the box.</p>
</div>

<a href="#" onclick="return moveUp(box);">Move Up</a>
<a href="#" onclick="return moveDown(box);">Move Down</a>
</body>
</html>

谢谢。

最佳答案

你最好的选择是更新到 iOS 5 - 更新的软件修复了旧的错误......这就是为什么我们都讨厌 ie6 :)

我刚刚检查了几个移动框架,它们的支持矩阵从 iOS 3.2 开始 + 几个将 3.1.3 列为他们不支持的第一个版本。

此外,您可能想尝试使用 console.logging 并从 iOS Safari 调试控制台检查您的日志。您可能想尝试绑定(bind)到触摸事件而不是链接的默认点击处理程序。可能是那样的finnicky。甚至链接中的散列标签也可能导致问题。

关于移动 Safari 中的 CSS3 转换会破坏 CSS 属性更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com