1

我一直在开发一个站点,它依赖于 jquery ScrollTo 插件在页面之间水平移动。每个“页面”都是一个 100% x 100% 的部分,里面有一个包装器 div,然后是绝对定位的元素。

这在除 IE 之外的所有浏览器中都 100% 完美运行。在所有版本的 IE(甚至 10 个)中,内容元素都在消失,只有在悬停或以某种方式选择时才会出现。

以下是实际问题的视频和相关开发页面:

这真的很奇怪和不一致,有些元素有时会出现,有时是部分出现,但通常根本不会出现。调整窗口大小只会显示当前在视口中的元素,但不会出现在视口之外(如果您向外和向后滚动,它们会再次出现故障)。删除 ScrollTo 并使用默认的锚行为很好,但我无能为力似乎有所作为。

谷歌在这个问题上的搜索完全没有出现。

内容的基本结构是有效的:

<section id="content">
    <div class="mask">
        <section id="pagename">
            <div class="wrap">
                <div></div>
                <div></div>
            </div>
        </section>
        <section>
            <div class="wrap">
                <div></div>
                <div></div>
            </div>
        </section>
    </div>
</section>

CSS:

#content       {width: 100%; height: 100%; overflow: hidden; }
#content .mask {width: 800%; height: 100%;}
section        {position: relative; display: block; width: 12.5%; height: 100%; float: left;}
.wrap          {position: absolute; display: block; top: 50%; left: 50%; height: 860px; margin-top: -430px; width: 860px; margin-left: -430px; overflow: visible;}

.wrap 中的 div 然后绝对定位在页面周围。

一切实际上都在正确的位置,并且内容正确呈现(一旦可见)。它似乎只是问题开始的 .wrap 的内容(在 .wrap 上设置测试背景表明它没有故障,只是它的内容)。

如果有人可以阐明导致此问题的原因以及使其表现的原因,将不胜感激。

干杯,内森

4

1 回答 1

1

好的,我已经解决了这个问题。

在页面的其他地方(不在#content 部分内),我有一个单独的 div,它是固定位置的。无论出于何种原因,保持这个固定是导致 IE 问题与其他元素滚动查看的原因。将该 div 更改为绝对定位(在这种情况下不是问题,因为所有滚动都是在 #content 部分中完成的)会产生很大的不同。

我应该补充一点,jQuery ScrollTo 与此无关(删除所有脚本并在#content 上使用溢出自动来获取滚动条,表明即使没有它,问题也会发生)。这纯粹是在固定定位元素的顶部滚动元素的渲染问题。

于 2013-06-05T09:52:55.893 回答