Css 如何简化这个div循环
如何简化像这样的div设计?Angular/Jquery解决方案很好。这是一个位于电影顶部的div过滤器。此外,这应该简化还是保持原样Css 如何简化这个div循环,css,Css,如何简化像这样的div设计?Angular/Jquery解决方案很好。这是一个位于电影顶部的div过滤器。此外,这应该简化还是保持原样 <div id="filter"> <div id="row1"> <div class="filblack"></div> <div class="filgrey"></div>
<div id="filter">
<div id="row1">
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
</div>
<div id="row2">
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
</div>
<div id="row3">
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
</div>
<div id="row4">
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
</div>
<div id="row5">
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
</div>
</div>
可以使用角度重复指令
<div id="filter">
<div id="row{{index}}" ng-repeat="index in [1, 2, 3, 4, 5]">
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
</div>
</div>
如果你能像那样将索引变量模板化到ID中,我不是很肯定,但是那些ID是重要的吗?此外,您可能还可以创建指令来进一步减少灰色/黑色重复。类似于偶数/奇数类型的东西。您可以使用角度重复指令
<div id="filter">
<div id="row{{index}}" ng-repeat="index in [1, 2, 3, 4, 5]">
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
<div class="filgrey"></div>
<div class="filblack"></div>
</div>
</div>
如果你能像那样将索引变量模板化到ID中,我不是很肯定,但是那些ID是重要的吗?此外,您可能还可以创建指令来进一步减少灰色/黑色重复。像是偶数/奇数之类的东西。你说的div循环是什么意思?我不确定我是否理解正确,但您希望减少标记,对吗 您可以先删除内部div上的类名,改为:n个奇数和:n个偶数 这可能是您的新标记:
<div id="filter">
<div id="row1">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row2">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row3">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row4">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row5">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
你说的div循环是什么意思?我不确定我是否理解正确,但您希望减少标记,对吗 您可以先删除内部div上的类名,改为:n个奇数和:n个偶数 这可能是您的新标记:
<div id="filter">
<div id="row1">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row2">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row3">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row4">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="row5">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
您可以使用以下类似的方法:
.row {
background-image: repeating-linear-gradient(
90deg,
rgba(24,24,24,.6),
rgba(24,24,24,.6) 15%,
rgba(10,10,10,.6) 15%,
rgba(10,10,10,.6) 30%
);
}
并将html简化为行元素:
滤器{
位置:绝对位置;
排名:0;
左:0;
宽度:100%;
高度:100vh
}
.行{
身高:20%;
宽度:100%;
背景图像:重复线性梯度90度,rgba24,24,24,6,rgba24,24,24,6 15%,rgba10,10,10,6 15%,rgba10,10,10,6 30%;
}
第n个孩子{
背景图像:重复线性梯度90度,rgba10,10,10,6,rgba10,10,10,6 15%,rgba24,24,24,6 15%,rgba24,24,24,24,24,6 30%;
}
您可以使用以下类似的方法:
.row {
background-image: repeating-linear-gradient(
90deg,
rgba(24,24,24,.6),
rgba(24,24,24,.6) 15%,
rgba(10,10,10,.6) 15%,
rgba(10,10,10,.6) 30%
);
}
并将html简化为行元素:
滤器{
位置:绝对位置;
排名:0;
左:0;
宽度:100%;
高度:100vh
}
.行{
身高:20%;
宽度:100%;
背景图像:重复线性梯度90度,rgba24,24,24,6,rgba24,24,24,6 15%,rgba10,10,10,6 15%,rgba10,10,10,6 30%;
}
第n个孩子{
背景图像:重复线性梯度90度,rgba10,10,10,6,rgba10,10,10,6 15%,rgba24,24,24,6 15%,rgba24,24,24,24,24,6 30%;
}
这个角度的方法如何?可能需要围绕黑/灰顺序进行调整
<div id="filter">
<div id="row{{x}}" ng-repeat="x in range(1,5)">
<div class='fill{{(x+y) % 2 == 0 ? "black" : "gray"}}' ng-repeat="y in range(1,9)"></div>
</div>
</div>
这个角度的方法如何?可能需要围绕黑/灰顺序进行调整
<div id="filter">
<div id="row{{x}}" ng-repeat="x in range(1,5)">
<div class='fill{{(x+y) % 2 == 0 ? "black" : "gray"}}' ng-repeat="y in range(1,9)"></div>
</div>
</div>
Html:
<div id="filter"></div>
Jquery:
var blackSquare = '<div class="filblack"></div>'
var whiteSquare = '<div class="filgrey"></div>'
for(k=0; k<8; k++)
{
$('#filter').append('<div id="row'+k+'">');
for(j=0;j<8; j++)
{
if( ((j+k) % 2) == 0)
{
$('#row'+k).append(blackSquare);
}
else
{
$('#row'+k).append(whiteSquare);
}
}
$('#filter').append(' </div>');
}
Html:
<div id="filter"></div>
Jquery:
var blackSquare = '<div class="filblack"></div>'
var whiteSquare = '<div class="filgrey"></div>'
for(k=0; k<8; k++)
{
$('#filter').append('<div id="row'+k+'">');
for(j=0;j<8; j++)
{
if( ((j+k) % 2) == 0)
{
$('#row'+k).append(blackSquare);
}
else
{
$('#row'+k).append(whiteSquare);
}
}
$('#filter').append(' </div>');
}
看一看有图案的线性渐变:看一看有图案的线性渐变:在查看CSS之后,您肯定应该去掉ID并用单个类替换它们。在查看CSS之后,你肯定应该去掉ID,用一个类来替换它们。指定背景大小和位置可以让你只需要一行div就可以重复多次。Yep@David我正在研究一个解决方案,只需CSS过滤器ID:指定背景大小和位置可以让你重复多次只使用一行div.Yep@David进行必要的次数。我正在研究一个解决方案,只使用CSS过滤器ID: