是否有一种CSS方法使class=";主动的;打开菜单?

是否有一种CSS方法使class=";主动的;打开菜单?,css,Css,这是普朗克- 有没有一种CSS方法,当我点击One或Two时,它会变成One或Two的active“,并从主页中删除?你需要编辑html,但不知何故,CSS无法更改元素类。您可以向js编写一个小函数,在单击事件中执行此操作,并从旧菜单项中删除该类,然后将其添加到新选择的菜单项中 像这样: 不专门使用CSS。行为特性,例如链接和修改DOM,不在CSS的范围之内 但是,您可以构造链接来修改URL的查询字符串(例如?item=one),并使用生成的GET值在导航上设置类 或者使用javascript。

这是普朗克-


有没有一种CSS方法,当我点击
One
Two
时,它会变成
One
Two
active“
,并从
主页
中删除?

你需要编辑html,但不知何故,CSS无法更改元素类。您可以向js编写一个小函数,在单击事件中执行此操作,并从旧菜单项中删除该类,然后将其添加到新选择的菜单项中

像这样:
不专门使用CSS。行为特性,例如链接和修改DOM,不在CSS的范围之内

但是,您可以构造链接来修改URL的查询字符串(例如?item=one),并使用生成的GET值在导航上设置类


或者使用javascript。

您可以单独使用CSS突出显示每个链接,但不能使用类。而是使用
:target
伪类:


您可以使用jQuery实现这一点,格式如下:

       switch (window.location.pathname) {
            case '/THE_URL_HERE':
               $('.nav-home').addClass('active');
               break;
            case '//THE_URL_HERE':
               $('.nav-one').addClass('active');
               break;
            case '//THE_URL_HERE':
               $('.nav-two').addClass('active');
               break;
        }
并将类添加到HTML:

<h1>Hello Plunker!</h1>
    <div class="header">
      <ul class="nav nav-pills">
        <li class="nav-home">
          <a href="#">Home</a>
        </li>
        <li class="nav-one"><a href="#">One</a></li>
        <li class="nav-two"><a href="#">Two</a></li>
      </ul>
    </div>
你好,普朗克!

使用:target如果要在没有javascript的情况下创建菜单,它会更加灵活

在CSS中无法做到这一点。我认为您必须研究Javascript和DOM onclick事件。我在下面展示了一个仅使用CSS的示例。听起来是个不错的方法,一般来说,您是否将
链接a
的文本颜色设置为
链接a
,当有人悬停或单击
链接a
时,您将
链接a
颜色设置为
白色
并将
链接a
链接a
设置为
链接08c
的背景色?是吗?是的,尽管经过反思,我不确定这样的设置有多有用。再次,您需要什么?考虑当用户点击<代码>事务< /代码>时,出现3个链接的新视图:代码>当前< /代码>,<代码>最近< /代码>和<代码>其他< /代码>。这个想法是,当第一次单击时,应该选择当前的
,然后在进一步的用户交互中,可能会选择其他链接。希望这能提供一些背景
<h1>Hello Plunker!</h1>
    <div class="header">
      <ul class="nav nav-pills">
        <li class="nav-home">
          <a href="#">Home</a>
        </li>
        <li class="nav-one"><a href="#">One</a></li>
        <li class="nav-two"><a href="#">Two</a></li>
      </ul>
    </div>