html - 用于循环遍历多个图像以装饰无序列表元素符号的 CSS

标签 html css

我想用一组图像中的一个替换一个元素符号

<ul>
    <li> List item 1 </li>
    <li> list item 2 </li>
    <li> List item 3 </li>
    <li> List item 4 </li>
</ul>

我知道可以在 css 中将图像定义为 list-style-image 的一部分CSS 属性:

ul{
list-style-image: url('/images/circle.jpg');
}

但这是将单个图像应用于所有元素符号。我想做的是提供一系列图像,并让每个元素符号依次显示列表中的不同图像,并适当换行。

例如,如果我提供了一系列图像 ['red.jpg','amber.jpg','green.jpg'] ,如果我将其应用于 8 个元素符号的无序列表,我希望它使用序列中的图像装饰这些列表项 [red, amber, green, red, amber, green, red, amber] .

有没有<ul><li>样式的方法,或者我应该单独构建一些其他标记来做同样的事情,只是不使用 <ul>/<li>

例如我最接近下面的是什么?

ul.traffic_lights {
list-style-image: [url('/images/red_circle.jpg', url('/images/amber_circle.jpg', url('/images/green_circle.jpg');
}

最佳答案

nth-of-type 应该这样做。

您可以根据需要调整样式,但这会设置模式。

li {
  font-size: 2em;
}

li:nth-of-type(3n+1) {
  color: red;
}

li:nth-of-type(3n+2) {
  color: yellow;
}

li:nth-of-type(3n+3) {
  color: green;
}
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
  <li>Item 5</li>
  <li>Item 6</li>
  <li>Item 7</li>
  <li>Item 8</li>
  <li>Item 9</li>
  <li>Item 10</li>
</ul>

关于html - 用于循环遍历多个图像以装饰无序列表元素符号的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51821907/

相关文章:

html - 由于垂直对齐的 div,内容未在 IE 中显示

html - 更新到10.3.1的iPhone不能再选择图片上传到网页,只能抓拍新的

javascript - 如何使 html 中的框过渡更平滑?

html - Bootstrap : block image resizing

javascript 单击展开菜单不起作用

html - 如何为 div 的顶部和底部制作 CSS 阴影?

php - 使用MySql数据库在php中实现超链接html

javascript - 如何逐行读取文本区域 HTML 标记

html - 如何在容器外显示导航栏下拉菜单?

iOS Safari 改变字体大小,webkit-text-size-adjust 没有效果