0

:first-child除了and之外,nth-child 从来都不是很好:last-child,但我需要一些帮助来创建这种类型的布局:

布局示例

每个“帖子”都将被包装在一个名为 的 div 中.summary-item。我正在使用流畅的布局,并且我的网站的内容宽度为max-width: 1020px.

有谁可以帮我离开这里吗?非常感激!

<div class="summary-item">
First Post
</div>

<div class="summary-item">
Second
</div>

<div class="summary-item">
Third
</div>

<div class="summary-item">
Fourth
</div>

<div class="summary-item">
Fifth
</div>
4

2 回答 2

1

由于您的周期为 5(“一旦完成第五篇文章,我需要重复整个结构”),您所有的nth-child调用都将基于5n. 之后它只是添加:

:nth-child(5n+1) {/* first block */}
:nth-child(5n+2) {/* second block */}
:nth-child(5n+3) {/* third block */}
:nth-child(5n+4) {/* fourth block */}
:nth-child(5n+5) {/* fifth block - could also be :nth-child(5n)
                            but the +5 improves readability */}
于 2012-12-12T01:37:03.357 回答
1

我使用了稍微不同的标记(最终结果):

<article>
    <header>
        <h3>First Post</h3>
    </header>
</article>
<!-- fill in the gap -->
<article>
    <header>
        <h3>Fifth Post</h3>
    </header>
</article>​

以及以下规则:

article {
    height: 10em;
    box-sizing: border-box;
    border: 5px solid #FFF;
}

article:nth-child(5n+1) { 
    width: 70%;
}

article:nth-child(5n+2) { 
    width: 30%; 
    margin: -10em 0 0 70%;
}

article:nth-child(5n+3) {
    width: 50%;
}

article:nth-child(5n+4) {
    width: 50%;
    margin-right: 50%;
}

article:nth-child(5n+5) {
    width: 50%;
    height: 20em;
    margin: -20em 0 0 50%;
}

这给了我你的概念图像中呈现的布局。

小提琴:http: //jsfiddle.net/ZLVV2/2/

于 2012-12-12T02:06:36.500 回答