在React和CSS中悬停时添加下划线
在React和CSS中,当鼠标悬停在一个元素上时,我们想要添加下划线以及改变字体颜色的效果。下面的代码是一种尝试并且成功的解决方法。
首先,在App.js文件中,我们导入了styles.css,并且在App组件中返回了一个包含一个span标签的div。span标签具有以下样式:
Click this.
接下来,在style.css文件中,我们定义了一个名为App的类,并设置了字体和文本居中的样式。
.App { font-family: sans-serif; text-align: center; }
我们还定义了一个当span标签被悬停时生效的样式。在:hover伪类中,我们使用了text-decoration属性来添加下划线,并使用!important来确保样式的优先级。同时,我们将字体颜色设置为红色。
span:hover { text-decoration: underline !important; color: "red"; }
通过将这些代码整合在一起,我们可以实现鼠标悬停时添加下划线和改变字体颜色的效果。
以上是关于如何在React和CSS中实现鼠标悬停时添加下划线和改变字体颜色的解决方法。
问题的原因是在React中,style
属性不支持选择器。解决方法是将逻辑移到<style>
元素或链接的样式表中。有很多适用于React的友好库可以动态生成样式。其中,Styled Components是一个流行的工具,支持你使用的SCSS语法(几乎支持,只是你在&
后面多了一个空格)。
代码示例:
import { styled } from 'styled-components'; const MySpan = styled.span` color: red; cursor: pointer; &:hover { text-decoration: underline; } `;
然后,在需要的地方使用<MySpan>Click this.</MySpan>
。
然而,span
元素并不设计为可交互的。屏幕阅读器不会将其标注为可点击的,并且如果不使用鼠标,无法通过Tab键选中它们。这是一个重要的无障碍障碍。如果你希望用户点击某个元素,应该使用链接(如果需要链接到某个地方)或按钮(否则)。