繁体   English   中英

<a>当我点击它时如何更改标签颜色并且在我更改我的 URL 之前它不会改变</a>

[英]How to change a <a> tag color when I click on it and it doesn't change until I change my URL

我要做的基本上是在单击链接时保持链接的颜色,将导航栏链接悬停使其呈灰色,当我单击它并停留在 URL 上时,我想将其保持为不同的颜色. 我正在为 Link 组件使用react-router-dom

         <nav>
          <ul className="nav-wrapper">
            <li>
              <Link className="link" to="/">
                Home
              </Link>
            </li>
            <li>
              <Link className="link" to="/gallery">
                Gallery
              </Link>
            </li>
            <li>
              <Link className="link" to="/about">
                About
              </Link>
            </li>
          </ul>
        </nav>

我真的不知道在这里使用什么,我不知道我是否应该在单击它时使用 useState 来尝试更改它或在 CSS 上更改它,任何提示都表示赞赏。

(我没有很好地理解你的问题,所以我都做了)好的! 试试这个来改变一个未访问的链接 (CSS) a:link { color: what color you want; } a:link { color: what color you want; }

使用它来更改已访问链接 (CSS)' a:visited { color: what color you want; } a:visited { color: what color you want; }

代码示例:

 a:active { color: green; } a:visited { color: purple; }
 <a href="#"> This link will change color<a>

如果您找到答案,请标记答案。

const [selectedItem, setSelectedItem] = useState(0);

        <nav>
          <ul className="nav-wrapper">
            <li>
              <Link className={`link ${selectedItem===0?'active':''}`}  to="/" onClick={()=>setSelectItem(0)}>
                Home
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===1?'active':''}`} to="/gallery" onClick={()=>setSelectItem(1)}>
                Gallery
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===2?'active':''}`} to="/about" onClick={()=>setSelectItem(2)}>
                About
              </Link>
            </li>
          </ul>
        </nav>

然后你可以在 CSS 上写,

 li .active{
     color: #your color;
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM