当前位置: 首页 > 面试题库 >

将鼠标悬停在另一个样式化的组件上

贺佑运
2023-03-14
问题内容

处理样式化组件中悬停的最佳方法是什么?我有一个包装元素,将鼠标悬停时会显示一个按钮。

我可以在组件上实现某些状态并在悬停时切换属性,但想知道是否有更好的方法可以使用styled-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;
    }
  }
`

问题答案:

从样式组件v2开始,您可以插值其他样式组件以引用其自动生成的类名。在您的情况下,您可能需要执行以下操作:

const Wrapper = styled.div`
  &:hover ${Button} {
    display: none;
  }
`

有关更多信息,请参见文档!

组件的顺序很重要。只有在Button上面/之前定义时,它才有效Wrapper

如果您使用的是v1,并且需要执行此操作,则可以使用自定义的类名来解决此问题:

const Wrapper = styled.div`
  &:hover .my__unique__button__class-asdf123 {
    display: none;
  }
`

<Wrapper>
  <Button className="my__unique__button__class-asdf123" />
</Wrapper>

由于v2是v1的直接升级,因此我建议您进行更新,但是如果不在此范围内,这是一个很好的解决方法。



 类似资料:
  • 处理样式组件中悬停的最佳方法是什么?我有一个包装元素,当悬停时会显示一个按钮。 我可以在组件上实现一些状态,并在悬停状态下切换属性,但我想知道是否有更好的方法使用样式化的cmponents来实现这一点。 类似于以下内容的内容不起作用,但非常理想:

  • 问题内容: 当父元素悬停时如何更改子元素的样式。如果可能的话,我希望使用CSS解决方案。有没有可能通过:hover CSS选择器解决方案。实际上,当面板上悬停时,我需要更改面板内选项栏的颜色。 希望支持所有主流浏览器。 问题答案: 是的,您绝对可以做到这一点。只需使用类似 根据此页面,所有主流浏览器都支持该页面。

  • 问题内容: 我正在尝试在JButton上创建自定义鼠标悬停事件。原因是我的JButton当前是图像,因此我必须删除所有边框和动画,而不能删除所有边框和动画。所以我这样做: 这非常适合仅显示图像,并且按钮实际上可以正常工作。我想知道是否有任何预建方法可以做到这一点,或者我将如何学习做自己想做的事情。 更具体地说,当我将鼠标悬停在上方时,我希望图像做的只是使其变得更大一点。 到目前为止,我已经尝试过这

  • 问题内容: libgdx中是否有任何侦听器可以让我检测到鼠标悬停而不是鼠标悬停。在场景2D的按钮类中,您有2种方法isOver和isPressed,但是它们执行相同的操作…还有其他问题吗?还有另一种方法来检测鼠标悬停在actor上吗? 问题答案: 还有的可以连接到和它提供的事件,如下面的: 该事件从根本上来说意味着鼠标开始悬停在角色上,意味着它“离开”了角色的区域。它还有一个事件,您可以使用该事件

  • 问题内容: 有时,我可以选择使用CSS元素:悬停或JavaScript onmouseover来控制页面上html元素的外观。考虑以下情况,其中div包装了输入 我希望输入将鼠标光标悬停在div上时更改背景色。CSS方法是 JavaScript方法是 每种方法的优点和缺点是什么?CSS方法是否适用于大多数Web浏览器?JavaScript比CSS慢吗? 问题答案: :hover的问题是IE6仅在链

  • 我有一系列使用d3创建的行。我写了一些和事件事件。 当I时,事件通过增加行的值正常工作。 但是在上,在我编写代码的地方,事件不能正常工作,将值设置为初始值。 小提琴 帮我修一下。