【发布时间】:2017-03-29 15:39:32
【问题描述】:
我有一个基本的 HTML 结构,每行显示 3 个项目。为了正确分开它们,我使用 2 个边框(第一/第二第二/第三),如下图所示:
ITEM1 | ITEM2 | ITEM3
使用 SASS 定义如下:
.middle {
position: relative;
z-index: 1;
&:before {
content: '';
width: 32px;
height: 100%;
position: absolute;
left: -24px;
top: 0;
display: block;
z-index: -1;
box-shadow: 32px 0 0 0 #fff, 0 -32px 0 0 #fff, 0 32px 0 0 #fff, 32px 32px 0 0 #fff, 32px -32px 0 0 #fff, 0 0 32px 0 rgba(0, 0, 0, 0.15);
}
&:after {
content: '';
width: 32px;
height: 100%;
position: absolute;
right: -24px;
top: 0;
display: block;
z-index: -1;
box-shadow: -32px 0 0 0 #fff, 0 -32px 0 0 #fff, 0 32px 0 0 #fff, -32px 32px 0 0 #fff, -32px -32px 0 0 #fff, 0 0 32px 0 rgba(0, 0, 0, 0.15);
}
}
当我迭代 Jekyll 集合时,我想区分这 3 行项目。换句话说,迭代项目 3 by 3。 它 几个小时前我刚开始研究 Jekyll,我可以看到 filters are available,但我不知道如何在标准集合迭代中实现这一点,如下所示:
{% for item in array %}
{{ item }}
{% endfor %}
【问题讨论】:
-
似乎您可以使用 CSS3 :nth-child 选择器来实现这一点,它允许您根据源顺序选择一个或多个元素。这样您就不需要向“中间”项目添加类。
-
谢谢@ShannonYoung。我将依靠 Liquid 使其更轻量级,但我肯定会在其他项目或情况中使用该技巧。