iframe在固定定位元素中的位置(android)

时间:2013-03-05 18:53:21

标签: css positioning

我有一个自编的灯箱,可以从数据库中加载内容,结果是这样的:

<div class="lightbox">

    <div class="lbtop">

    </div>

    <div class="lbcontent">

        lightbox content

    </div>

    <div class="lbbot">

    </div>

</div>

灯箱中的所有元素都是块级元素,并且是浮动的(包括像p,h1等子元素)。

灯箱使用固定定位以确保它始终位于同一个地方:

.lightbox {

    width: 320px;
    height: auto;
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    overflow-y: scroll;

}

到目前为止一切顺利。将内容添加到灯箱也完全没问题,所有元素都可以很好地滚动。

但是当我尝试在灯箱内添加iframe(特别是:soundcloud embeds)时,iframe元素的滚动方式与灯箱内的其他元素不同,如下所示:

iframe moved over content (not the correct place)

在这个例子中,我只是向下滚动,iframe元素现在移动到文本上,而不是留在原地。

我已经尝试了大量的解决方案,使用CSS位置的不同组合,溢出甚至尝试为此构建我自己的jQuery驱动修复程序(将iframe包装在正确定位的div中),但无济于事。总而言之,我感觉它可能是webkit中的一个错误(我在Android上遇到问题,我正在开发的网站是一个移动网站)。我确实使用-webkit-overflow-scrolling : touch;解决了iOs中的错误(任何人,是否有替代安装程序?)。

在网上搜索修复程序也没有给我任何有用的结果。我得到的最接近的是将灯箱的位置设置为绝对,但这会影响灯箱的功能,但这并不能让我满意。

我会喜欢这方面的任何建议:)提前感谢:)

1 个答案:

答案 0 :(得分:1)

过了一会儿,我设法解决了这个问题。这是一个只出现在SDK模拟器中的奇怪的问题。太糟糕了,我花了这么多时间来解决它,但我认为阻止其他人浪费时间可能会很好..

如果你遇到这个问题,请仔细检查一下物理安卓设备,因为那里不存在问题(跨越不同的操作系统/浏览器版本)