无限滚动弄乱了nth:of-type

时间:2013-07-05 作者:Jacob

我正在使用infinite scroll 我的本地主题在这里,它导致了一些CSS问题。我希望如果我让你们中的一些人来做这个,你们可能会有一个解决方案。

这几乎就是布局:

#wrap {
width: 938px;
overflow: hidden;
background-color: aqua;
border: 1px solid white;
padding: 5px 5px;
}

.one {
width: 33.04904051172708%;
float: left;
}

#wrap .one:nth-of-type(3n+1) {
margin-right: 4px;
}

#wrap .one:nth-of-type(3n) {
maring-left: 4px;
}


<div id="wrap">
    <div class="one"></div>
    <div class="one"></div>
    <div class="one"></div>
</div>
有了这些,我几乎拥有了我想要的一切。

这是无限滚动时标记的外观:

<div id="wrap">
    <div class="one"></div>
    <div class="one"></div>
    <div class="one"></div>
    <div id="infscr-loading"></div> <!-- problem -->
    <div class="one"></div>
    <div class="one"></div>
    <div class="one"></div>

</div>
问题是,Infinite Scroll 加载a<div> 调用infscr-loading 在每一次分页休息时:nth-of-type. 由于某种原因infscr-loading 正朝着#wrap .one:nth-of-type

也许我能理解nth-of-type 不正确,但不应该(按照我的设置方式)只.one 课程对它很重要?

有没有办法:nth-of-type 忽略div?

一如既往,我们将非常感谢您的任何帮助。

3 个回复
最合适的回答,由SO网友:s1lv3r 整理而成

你必须接受type 在里面:nth-of-type() 字面上它只考虑元素的类型(在这种情况下DIV). 选择器不重要。

:nth-of-type() 除了只考虑给定类型的元素之外,其工作原理是相同的。

http://quirksmode.org/css/selectors/nthchild.html

不幸的是,目前我无法想象有一个好的解决方案。也许你可以硬编码#infscr-loading 交付方式:<p>. 那么您现有的代码就可以工作了。

SO网友:giorgos

我知道这是一篇旧帖子,但我现在发布它,以防其他人处理同样的问题。

我遇到了一个类似的问题,一个隐藏的导航元素和无限的装载机跨度干扰了我的第n个孩子。我的项目是<article> 而不是div。我最终通过以下jQuery解决了这个问题:

$( document.body ).on( \'post-load\', function () {
    $(\'.posts-navigation, .infinite-loader\').remove();
} );
实际上,新帖子一加载,我就删除了影响布局的元素。这并不优雅,但很有效。

SO网友:Otto

Jetpack中的无限滚动实现将无限加载程序元素作为一个span而不是div来实现,以防止出现这种问题。因此,如果您的帖子位于div中,那么可以忽略span。

结束

相关推荐

更改admin-bar.min.css的路径/url

有人知道管理员栏在哪里吗。是否注册/包含min.css?我正在尝试在管理栏前面添加斜杠。这样管理栏就可以在所有页面上正常工作。我在玩一个wordpress网站,上面有Dynamicly生成的URL,现在管理栏是我最不需要修复的东西,只是我找不到它。所有帮助都非常重要:)