处理样式组件中悬停的最佳方法是什么?我有一个包装元素,当悬停时会显示一个按钮。
我可以在组件上实现一些状态,并在悬停状态下切换属性,但我想知道是否有更好的方法使用样式化的cmponents来实现这一点。
类似于以下内容的内容不起作用,但非常理想:
const Wrapper = styled.div`
border-radius: 0.25rem;
overflow: hidden;
box-shadow: 0 3px 10px -3px rgba(0, 0, 0, 0.25);
&:not(:last-child) {
margin-bottom: 2rem;
}
&:hover {
.button {
display: none;
}
}
`
我的解决办法是
const Content = styled.div`
&:hover + ${ImgPortal} {
&:after {
opacity: 1;
}
}
`;
与mxstbr的答案类似,您也可以使用内插来引用父组件。我喜欢这个路由,因为它封装了组件的样式,比在父组件中引用子组件好一点。
const Button = styled.button`
${Wrapper}:hover & {
display: none;
}
`;
我不能告诉你这个特性是什么时候引入的,但是从v3开始就可以使用了。
相关链接:https://www.styled-components.com/docs/advanced#referring-连接到其他组件
对于样式化组件v2,您可以插入其他样式化组件以引用其自动生成的类名。在您的情况下,您可能希望执行以下操作:
const Wrapper = styled.div`
&:hover ${Button} {
display: none;
}
`
有关更多信息,请参阅文档!
组件的顺序很重要。只有在包装器
前面/上面定义了按钮
时,它才会工作。
如果您使用的是v1,并且需要执行此操作,则可以使用自定义类名来解决此问题:
const Wrapper = styled.div`
&:hover .my__unique__button__class-asdf123 {
display: none;
}
`
<Wrapper>
<Button className="my__unique__button__class-asdf123" />
</Wrapper>
由于v2是从v1到v1的直接升级,我建议进行更新,但如果卡中没有更新,这是一个很好的解决方法。
问题内容: 处理样式化组件中悬停的最佳方法是什么?我有一个包装元素,将鼠标悬停时会显示一个按钮。 我可以在组件上实现某些状态并在悬停时切换属性,但想知道是否有更好的方法可以使用styled-cmponents来做到这一点。 像下面这样的东西不起作用,但是很理想: 问题答案: 从样式组件v2开始,您可以插值其他样式组件以引用其自动生成的类名。在您的情况下,您可能需要执行以下操作: 有关更多信息,请参
即使在a:hover的末尾添加也不起作用。
问题内容: 当我将鼠标悬停在ID为“ a”的div或类上时,是否可以更改ID为“ b”的div或类的背景色? 问题答案: 是的,您可以执行此操作,但前提是在HTML之后。 如果紧随其后: 这是使用相邻的同级组合器()。 如果和之间还有其他元素,则可以使用以下元素: 这是使用通用的同级组合器()。 双方并在所有现代浏览器和IE7 +工作 如果是的后代,则可以简单地使用。 替代方案:您可以使用纯CSS
在按钮悬停我想做的改变:之前的内容太,我找不到一个答案在官方留档我想知道这是可能的。 这里是样式组件:
问题内容: 我已经看过其他几个问题,但似乎无法弄清楚它们中的任何一个,所以这是我的问题,我想要一个div或span,当您将鼠标悬停在它上面时,就会出现一个区域,就像是一滴水下。 例如我有一个div,我想将鼠标悬停在上面,并让它显示有关我悬停的项目的一些信息 但这似乎不起作用,我不知道为什么…,如果有办法在CSS中做到这一点,我想知道,但是我想要任何和所有建议。 问题答案: 仅当隐藏的div是用于悬
我正在创建一个包含样式化组件和React的菜单,并希望图标的颜色在悬停时更改,但我需要它在图标的父项悬停时更改,以便将文本悬停在图标旁边也会激活图标的悬停样式。下面是我用来接近的代码: 在以后的组件中引用另一个样式化组件的方式非常聪明,但在本例中,当它创建悬停规则时,它创建时不考虑不同类型的父容器($isactive===true或$isactive==false),因此所有链接容器都有两个悬停规