请检查我的代码,我想使用--索引的每一项,当标签是活动的,它应该有正确的偏移,然后我可以动画它。但只有字体大小属性可以采取的参数,左和翻译他们都不工作。有办法做到这一点吗?
这是我的代码。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>
1条答案
按热度按时间62lalag41#
将--index属性设置为错误的元素,当兄弟的值更改时,它不会产生附加效果