Javascript 如何更改a<;a>;当我点击它时标记颜色,它不会';在我更改URL之前,请不要更改
我试图做的是,当我点击链接时,基本上保持链接的颜色,悬停导航栏链接使其变灰,当我点击它时,当它停留在URL上时,我想保持不同的颜色。 我正在为链接组件使用Javascript 如何更改a<;a>;当我点击它时标记颜色,它不会';在我更改URL之前,请不要更改,javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,我试图做的是,当我点击链接时,基本上保持链接的颜色,悬停导航栏链接使其变灰,当我点击它时,当它停留在URL上时,我想保持不同的颜色。 我正在为链接组件使用react-router-dom <nav> <ul className="nav-wrapper"> <li> <Link className="link" to=&quo
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>
-
家
-
画廊
-
关于
我真的不知道在这里使用什么,我不知道当我点击它或在CSS上更改它时是否应该使用useState来尝试和更改它,任何提示都非常感谢。使用
:active
psudo选择器 使用:活动的psudo选择器 react router dom
有一个名为NavLink
的附加组件,您可以将一个名为activeClassName
的附加道具传递到该组件。这将允许您为活动链接提供自定义样式
例如:
<NavLink to="/faq" activeClassName="selected">
FAQs
</NavLink>
常见问题
此组件将替换导航中的所有Link
组件。react router dom
有一个名为NavLink
的附加组件,您可以向该组件传递一个名为activeClassName
的附加道具。这将允许您为活动链接提供自定义样式
例如:
<NavLink to="/faq" activeClassName="selected">
FAQs
</NavLink>
常见问题
此组件将替换导航中的所有链接组件。(我不太理解您的问题,所以我两者都理解了)
好啊尝试更改未访问的链接(CSS)
a:link{color:what color;}
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)'
a:访问{color:what color you want;}
(我不太理解你的问题,所以我两个都做了)
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)
a:link{color:what color;}
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)'
a:visited{color:what color you want;}
这能回答您的问题吗@Spectric除非我误解了,否则OP希望修改链接的:hover
,:active
等css属性。我链接的答案也包括plan CSS解决方案。请检查我的代码,我认为您存储了活动组件的编号。感谢大家的帮助,但Angel Martinez comment帮助了我,他使用了我在项目中使用的相同库将链接更改为NavLink,只是一个不同的组件。这是否回答了您的问题@Spectric除非我误解了,否则OP希望修改链接的:hover
,:active
等css属性。我链接的答案也包括plan CSS解决方案。请检查我的代码,我认为您存储了活动组件的编号。感谢大家的帮助,但Angel Martinez comment帮助了我,他使用了我在项目中使用的相同库将链接更改为NavLink,只是一个不同的组件
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>