html - 在 css 中应用偶数选择器时遇到问题

标签 html css

我有一个这样的 DOM 结构

<div class="row">
  <div class="col-sm-6"><span>1.</span>
    <div class="input_wrap">
      <input type="text">
    </div>
  </div>
  <div class="col-sm-6"><span>2.</span>
    <div class="input_wrap">
      <input type="text">
    </div>
  </div>
</div>

我尝试使用这个 css

.input_wrap {
  overflow: hidden;
  &:nth-child(even) input {
    background: red !important;
  }
  input {
    width: 97%;
    margin-left: 3%;
    height: 40px;
    padding: 5px;
    margin-top: 5px;
    box-sizing: border-box;
  }
}

为什么偶数选择器影响两个输入元素?我想选择所有左侧的输入为红色。

最佳答案

查看这段代码

.col-sm-6:nth-child(even) input {
    background: green !important;
  }
<div class="row">
  <div class="col-sm-6"><span>1.</span>
    <div class="input_wrap">
      <input type="text">
    </div>
  </div>
  <div class="col-sm-6"><span>2.</span>
    <div class="input_wrap">
      <input type="text">
    </div>
  </div>
</div>

因此第 n 个子节点会根据其父节点查找每个元素..

所以你的两个 input_wrap 都是他们相应 parent 的第二个 child ,这就是为什么他们都匹配的原因

关于html - 在 css 中应用偶数选择器时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42610183/

相关文章:

html - div 中的背景视频完全响应

html - 如何正确放置正方形?

css - Firefox 中内容顶部的空间

javascript - Flask Dynamic 依赖下拉列表

jquery - 使用 jquery 移动获取 rss 新闻提要

html - 阻止文本选择超出 div?

html - 为 CSS 输入关键帧

jquery 像电影字幕一样移动文本

javascript - 使用 JavaScript 解析 RSS 提要并不适用于 RSS 提要中的所有项目

html - 使用 div 创建嵌套表格