【问题标题】:How to change 'react-ionicons' color on hover effect with React如何使用 React 更改悬停效果上的“react-ionicons”颜色
【发布时间】:2021-10-16 19:23:53
【问题描述】:

我有一个组件,其中包含使用 react-ionicons 的图标列表,如下所示:

export default function SocialIconsViewer() {

    return ( 
        <ul className="socials">
            <li><a href="www.twitter.com"><LogoTwitter/></a>
            </li>
            <li><a href="www.twitter.com"><LogoFacebook
                    title={'Facebook'}
                    /></a>
            </li><li><a href="www.twitter.com"><LogoInstagram 
                    title={'Instagram'}
                    /></a>
            </li><li><a href="www.twitter.com"><LogoYoutube 
                    title={'Youtube'}
                    /></a>
            </li><li><a href="www.twitter.com"><Mail 
                    title={'E-mail'}
                    /></a>
            </li>
        </ul>
    );
}

我正在尝试在此处导入的 css 文件中的这些图标上创建悬停效果:

.socials {
  position: absolute;
  right: 100px;
  bottom: 30px;
  z-index: 4;
  display: flex;
  flex-direction: column;
}
.socials li {
  list-style: none;
}
.socials li a {
  text-decoration: none;
  color: var(--black);
  font-size: 1.75em;
  transition: 300ms;
}
.socials li a:hover {
  color: crimson;
}

但是,这似乎不起作用,我很难找到使用反应离子的信息。

【问题讨论】:

    标签: html css reactjs react-typescript ionicons


    【解决方案1】:

    您的组件代码中没有导入。

    import {
      LogoTwitter,
      LogoFacebook,
      LogoInstagram,
      LogoYoutube,
      Mail,
    } from "react-ionicons";
    

    这是一个非常奇怪的情况,因为 hoverbackground-color 可以在您的代码中正常工作,但 color hover 不能! ?? 也许是包裹的问题,我不确定。

    我花了很多时间在这上面......并找到了另一种方法。我希望你会喜欢它。


    您可以使用react-icons,您需要正确安装它们并导入它们。

    npm install react-icons --save
    

    例子

    import { FaBeer } from 'react-icons/fa';
    
    export default function Question() {
        render() {
            return <h3> Lets go for a <FaBeer />? </h3>
        }
    }
    

    更改后的组件

    import { FaFacebook, FaTwitter, FaYoutube, FaInstagram } from "react-icons/fa";
    
    export default function SocialIconsViewer() {
      return (
        <ul className="socials">
          <li>
            <a href="https:://facebook.com" target="_blank" rel="noreferrer">
              <FaFacebook />
            </a>
          </li>
          <li>
            <a href="https://instagram.com" target="_blank" rel="noreferrer">
              <FaInstagram />
            </a>
          </li>
          <li>
            <a href="https://twitter.com" target="_blank" rel="noreferrer">
              <FaTwitter />
            </a>
          </li>
          <li>
            <a href="https://youtube.com" target="_blank" rel="noreferrer">
              <FaYoutube />
            </a>
          </li>
        </ul>
      );
    }
    

    如果我们使用global.css 文件,您的Css 样式可以正常工作(悬停效果)。

    .socials {
      position: absolute;
      right: 100px;
      bottom: 30px;
      z-index: 4;
      display: flex;
      flex-direction: column;
    }
    .socials li {
      list-style: none;
    }
    .socials li a {
      text-decoration: none;
      color: var(--black);
      font-size: 1.75em;
      transition: 300ms;
    }
    .socials li a:hover {
      color: crimson;
    }
    

    【讨论】:

    • 嗨,@MarioG8 谢谢你的回答。这很有趣,因为我确实下载并导入了“react-ionicons”(我只是错过了将它放入代码 sn-p 中)但它仍​​然很奇怪,就像你说它是如何不起作用的一样。然而,'react-icons/fa' 完美地工作,正是我所需要的!再次感谢您
    • @ReadingMan 对此我感到非常高兴!不客气 ;-) 快乐是我的全部 :-D 很高兴我能帮助你。
    猜你喜欢
    • 2015-08-07
    • 2022-01-23
    • 2018-03-22
    • 2020-07-02
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多