如何将 ::after 元素悬停在样式组件中

Kac*_*łek 1 css pseudo-element gatsby styled-components

我尝试::after使用样式组件悬停我的元素,但它不起作用。

下面我粘贴了我的代码,我希望它可以正常工作,但事实并非如此。

const Div = styled.div`
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
postition:relative;
&::after{
  content: '';
  background:rgba(255, 193, 5, 1);
  position:absolute;
  top:60%;
  left:-15%;
  width:20vw;
  height:20vw;
  border-radius:50%;
  &:hover{
    transform: scale(1.2);
  }
}
`
Run Code Online (Sandbox Code Playgroud)

小智 5

您不能在伪元素:hover上使用。您可以在Martin Wolf 的博客::after中阅读更多相关内容。

您提供的代码并不是最好的使用方式,因为您的项目没有太多上下文,但它在 Sass 中应该看起来像这样(我假设您正在使用它?)。

.example-container {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    postition:relative;

    &::after{
        content: '';
        background:rgba(255, 193, 5, 1);
        position:absolute;
        top:60%;
        left:-15%;
        width:20vw;
        height:20vw;
        border-radius:50%;
    }

    &:hover {
        &::after {
            transform: scale(1.2);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)