您可以使用CSS的transition和transform属性来实现选中tab背景色滑动的动画效果。以下是一个示例代码:

HTML:

<div class="tabs">
  <div class="tab">Tab 1</div>
  <div class="tab">Tab 2</div>
  <div class="tab">Tab 3</div>
</div>

CSS:

.tabs {
  display: flex;
}

.tab {
  padding: 10px;
  background-color: white;
  transition: transform 0.3s;
  cursor: pointer;
}

.tab.active {
  background-color: black;
}

.tab.slide {
  transform: translateX(-100%);
}

JavaScript:

const tabs = document.querySelectorAll('.tab');

tabs.forEach(tab => {
  tab.addEventListener('click', () => {
    tabs.forEach(otherTab => {
      if (otherTab !== tab) {
        otherTab.classList.remove('active');
        otherTab.classList.add('slide');
      }
    });
    
    tab.classList.remove('slide');
    tab.classList.add('active');
  });
});

以上代码会给每个tab添加一个click事件监听器。当点击一个tab时,会移除其他选中tab的active类,并给它们添加slide类来实现滑动效果。然后,移除当前点击的tab的slide类,并给它添加active类来设置选中背景色。这样就实现了未选中的tab被选中时,其他选中tab背景色滑动到当前选中的效果。

CSS Tab选中背景色动画效果:实现滑动切换

原文地址: https://www.cveoy.top/t/topic/p0MM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录