html - 使用交替的文本行制作条纹 div

标签 html css

我有一个包含 span 中的一些文本的 div。我想让文本变成条纹状以实现类似于表格的效果

tr:nth-child(even) {background-color: #f2f2f2;}
tr:nth-child(odd) {background-color: #cccccc;}

基本上让每一行的背景都不同。

    #docIndHeader{
    width: 300px;
    }
    <div id="docIndHeader" class="doc" >
            <span class="assetType">IndHeader</span>
            <span id="IndHeaderID"><span class="fieldName">ID </span>: 83176322</span>
            <span id="IndHeaderVERSION"><span class="fieldName">VERSION </span>: 20190907:105916:000</span>
            <span id="IndHeaderNAME"><span class="fieldName">NAME </span>: INDEX</span>
            <span id="IndHeaderINDEX_STATUS"><span class="fieldName">INDEX_STATUS </span>: A</span>
            <span id="IndHeaderCODE_PRIMARY"><span class="fieldName">CODE_PRIMARY </span>: T</span>
    </div>

最简单的方法是什么?

最佳答案

试试这个

span.line.odd {
  background-color: grey;
}
span.line.even {
  background-color: white;
}

span {
  display: block;
}
<body >
<div class="stripes">
  <span class="line">Some Text<span>Another span</span></span>
  <span class="line">Some Text<h2>this is a heading in the middle of the span!</h2></span>
  <span class="line">Some Text</span>
  <span class="line">Some Text</span>
</div>
<script type="text/javascript">
function stripes() {
 var strblock = document.getElementsByClassName("stripes");
 for(var i = 0; i < strblock.length; i++){
   var lines = strblock[i].getElementsByClassName("line");
   for(var j = 0; j < lines.length; j++){
     if(j%2 == 0){
       lines[j].classList.add("even");
     }
     else {
       lines[j].classList.add("odd");
     }
   }
 }
};
	stripes();
</script>
</body>

它甚至可以在同一行中处理多个跨度。只需确保“条纹”div 中没有其他跨度具有 line 类,否则它将被 JS 片段计算在内。 CSS 选择器会将其过滤掉,但 JS 将需要调整以仅计算跨度。

关于html - 使用交替的文本行制作条纹 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59461434/

相关文章:

jquery - 显示/隐藏仅显示当前内容

html - 如何用纯css设计类似大网站

css - 如何并行启动 2 个动画

html - iframe 中的位置固定 div 不起作用

html - CSS3 背景大小和背景位置问题

javascript - Jquery keyup 无法正常工作

javascript - 从 Razor 调用的 javascript 中的分离函数

html - 具有所有时间可见的水平子菜单的水平菜单 css

css - 无法定义右边距顶部的 %

javascript - 查找适用于元素的所有 CSS 规则