CSS如何使用calc与css变量(css属性)在左边,翻译等属性

brccelvz  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(114)

请检查我的代码,我想使用--索引的每一项,当标签是活动的,它应该有正确的偏移,然后我可以动画它。但只有字体大小属性可以采取的参数,左和翻译他们都不工作。有办法做到这一点吗?
这是我的代码。https://codepen.io/geforcesong/pen/QWxPwZa

const items = document.querySelectorAll('.item')
const tabClicked = (e)=>{
  if(e.target.classList.contains('active')){
    return;
  }
  items.forEach(item=>{
    item.classList.remove('active')
  })
  e.target.classList.add('active')
}

items.forEach(item=>{
  item.addEventListener('click', tabClicked)
})
.container {
  display: flex;
  flex-direction: column;
  position: relative;
}

.item-container {
  width: 800px;
  background: gray;
  display: flex;
  height: 50px;
}

.container .item {
  width: 150px;
  background-color: red;
  display: grid;
  place-items: center;
  font-size: calc(5px * var(--index, 1));
}

.container .item.active {
  background-color: yellow;
}

.indicator {
  width: 150px;
  height: 5px;
  background-color: blue;
/*   translate: calc(150px * var(--index)); */
  position:absolute;
  bottom:0;
  left: calc(150px * var(--index));
}
<div class="container">
  <div class="item-container">
    <div  class="item" style="--index:1">A sample</div>
    <div class="item active" style="--index:2">B sample</div>
    <div class="item" style="--index:3">C sample</div>
    <div class="item" style="--index:4">D sample</div>
  </div>
    
  <div class="indicator"></div>
</div>

62lalag4

62lalag41#

将--index属性设置为错误的元素,当兄弟的值更改时,它不会产生附加效果

相关问题