css - 选择一系列嵌套元素中的每隔一个元素(每个元素只有一个子元素)

标签 css sass css-selectors

<分区>

是否存在一个 css 选择器会以每秒 .letter 为目标?

当然,我可以将所有 .letter 元素放在同一层并使用 :nth-child(2n),但它们都取决于前一个字母,所以我需要嵌套。

.firstname {
  position: relative;
  height: 40px;
  width: 40px;
  margin: 75px 0 0 75px;
  border: 1px solid red;
}
.letter {
  position: absolute;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: 40px;
  background: rgba(0,0,255,0.2);
}
.letter > div {
  transform: rotate(-40deg);
  top: 100%;
}
<div class="firstname">
  <div class="letter s">S
    <div class="letter e">E
        <div class="letter b">B
           <div class="letter a">A
             <div class="letter s2">S
               <div class="letter t">T
                 <div class="letter i">I
                   <div class="letter a2">A
                     <div class="letter n">N</div>
                   </div>
                 </div>
               </div>
             </div>
          </div>
        </div>
      </div>
    </div>
  </div>  
</div>

最佳答案

如果你只想玩着色,这里有一个使用filter的技巧,其想法是使用180deg hue-rotation两次迭代后返回初始颜色。这将模拟您的选择器。

它作为解决方案仍然有限,因为您需要调整过滤器以获得您想要的着色,这不是一项简单的任务

.firstname {
  position: relative;
  height: 40px;
  width: 40px;
  margin: 75px 0 0 75px;
  border: 1px solid red;
}

.letter {
  position: absolute;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: 40px;
  background: rgba(0, 0, 255, 0.2);
  color:red;
  filter: hue-rotate(180deg) saturate(2);
}

.letter>div {
  transform: rotate(-40deg);
  top: 100%;
}
<div class="firstname">
  <div class="letter s">S
    <div class="letter e">E
      <div class="letter b">B
        <div class="letter a">A
          <div class="letter s2">S
            <div class="letter t">T
              <div class="letter i">I
                <div class="letter a2">A
                  <div class="letter n">N</div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

关于css - 选择一系列嵌套元素中的每隔一个元素(每个元素只有一个子元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68882689/

相关文章:

html - 网格的 Sass 函数

html - 使用第一个类型的 css 为 Bootstrap 选项卡中的第一个选项卡设置边距

css - 是否有可能在 div 边框周围产生流动的火焰效果

html - Bootstrap 输入文本与插件不对齐

html - 文本跳出栏目

css - zurb.foundation 和消失的元素

sass - 从列表动态创建类的函数

html - 使用类的独生子选择器

css - CSS 标识符可以以两个连字符开头吗?

jquery - CSS - 页面上的随机行