在导航css中为活动的单击项添加背景色

k4ymrczo  于 2022-12-15  发布在  其他
关注(0)|答案(2)|浏览(111)

我尝试了所有的解决方案,但这仍然不适合我。

.nav-home > a:active {
    background: #4a90e2;
}
.nav-navigation > a:active {
    color: #fff !important;
     background: #4a90e2;
}
<aside class="main-sidebar" style="background-color: #FFF;">
        <section class="sidebar sidebar-scrollbar">
            <ul class="sidebar-menu" data-widget="tree">
                <li class="header">Navigation</li>
                <li class="nav-home">
                    <a href="#">
                        <i class="fa fa-home"></i> <span>Home</span>
                    </a>
                </li>
                </ul>
                </section>
                
</aside>

在上面的例子中,这只在点击导航,然后你看到蓝色的背景,但我需要显示总是蓝色的颜色时,这个选项卡被点击。

vzgqcmou

vzgqcmou1#

应该使用JavaScript保存当前单击的选项卡的状态:

document.querySelector('.nav-home > a').addEventListener('click', () => {
    document.querySelector('.nav-home > a').style.backgroundColor = '#4a90e2';
})
.nav-home > a:active {
    background: #4a90e2;
}
.nav-navigation > a:active {
    color: #fff !important;
     background: #4a90e2;
}
<aside class="main-sidebar" style="background-color: #FFF;">
        <section class="sidebar sidebar-scrollbar">
            <ul class="sidebar-menu" data-widget="tree">
                <li class="header">Navigation</li>
                <li class="nav-home">
                    <a href="#">
                        <i class="fa fa-home"></i> <span>Home</span>
                    </a>
                </li>
                </ul>
                </section>
                
</aside>
ztyzrc3y

ztyzrc3y2#

我假设您想要更改活动选项卡的背景,这样您就可以向当前单击的选项卡添加活动类,并从其他选项卡中删除活动类
下面是我所做:

const handleActiveTab = (element)=>{

  Array.from(document.querySelectorAll('a')).forEach((el) => el.classList.remove('active'));

 element.classList.add('active')
}
.nav-home > a:active {
    background: #4a90e2;
}
.nav-navigation > a:active {
    color: #fff !important;
     background: #4a90e2;
}

.active{
  background-color:#4a90e2 !important;
}
<aside class="main-sidebar" style="background-color: #FFF;">
        <section class="sidebar sidebar-scrollbar">
            <ul class="sidebar-menu" data-widget="tree">
                <li class="header">Navigation</li>
                <li class="nav-home">
                    <a href="#" onclick="handleActiveTab(this)">
                        <i class="fa fa-home"></i> <span>Home</span>
                    </a>
                    <br/>
                    <a href="#" onclick="handleActiveTab(this)">
                        <i class="fa fa-home"></i> <span>about-us</span>
                    </a>
                      <br/>
                    <a href="#" onclick="handleActiveTab(this)">
                        <i class="fa fa-home"></i> <span>contact-us</span>
                    </a>
                </li>
                </ul>
                </section>
                
</aside>

相关问题