首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于选择其他祖先的CSS解决方案

用于选择其他祖先的CSS解决方案
EN

Stack Overflow用户
提问于 2021-06-02 12:22:39
回答 4查看 74关注 0票数 3

有没有办法让这篇文章用CSS换色呢?我尝试使用任何东西:nth-child(奇数),但它不适用于嵌套的div。

代码语言:javascript
复制
<div class="whatever">
this is some text
  <div class="whatever">
  this is some text
    <div class="whatever">
    this is some text
      <div class="whatever">
      this is some text
      </div>
    </div>
  </div>
</div>
EN

回答 4

Stack Overflow用户

发布于 2021-06-02 12:31:27

您可以使用JavaScript来实现此目的:

代码语言:javascript
复制
var els = document.getElementsByClassName("whatever");
let even = false;
for (let i=0;i<els.length;i++) {
   if (!even) {
     els[i].style.color = "red"; 
   } else {
     els[i].style.color = "blue";
} 
even = !even;
}
票数 0
EN

Stack Overflow用户

发布于 2021-06-02 12:49:44

您可以使用nth-child选择器实现替代颜色。请看一下代码。

代码语言:javascript
复制
.whatever:nth-child(odd) {
        color: red;
      }
      .whatever:nth-child(even) {
        color: blue;
      }
代码语言:javascript
复制
<body>
    <div class="whatever">this is some text</div>
    <div class="whatever">this is some text</div>
    <div class="whatever">this is some text</div>
    <div class="whatever">this is some text</div>
  </body>

票数 0
EN

Stack Overflow用户

发布于 2021-06-02 12:50:25

:nth- child (奇数)方法用于有多个子div时,但在本例中,每个div都只有一个子div,这就是它不起作用原因。

案例1

代码语言:javascript
复制
var elements = document.getElementsByClassName("whatever");

for (let i=0;i<elements.length;i++) {
   if (i%2==0) {
     elements[i].style.color = "Yellow"; 
    } else {
     elements[i].style.color = "Green";
     } 
}
代码语言:javascript
复制
<div class="whatever">
this is some text
  <div class="whatever">
  this is some text
    <div class="whatever">
    this is some text
      <div class="whatever">
      this is some text
      </div>
    </div>
  </div>
</div>

案例2:如果你想使用css改变文本的颜色,那么你可以应用不同的类

代码语言:javascript
复制
.text-green{
color:green;
}

.whatever{
color:yellow
}
代码语言:javascript
复制
<div class="whatever">
this is some text
  <div class=" text-green">
  this is some text
    <div class="whatever">
    this is some text
      <div class=" text-green">
      this is some text
      </div>
    </div>
  </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67798893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档