1

When I hover on LayerOne, its opacity changes from 0 to 1, but when I hover on ProjectName or ProjectDate the hover stops and all LayerOne disappears with the text. I want the opacity to be 0 only when I make mouseLeave on LayerOne. There is other items with the same structure as ItemOne but I excluded them here to make the code simple

`Styles`
const LayerOne = styled.a`
    top:0;
    left:0;
    z-index:2;
    width:100%;
    height:100%;
    color:#fff;
    cursor:pointer;
    border-radius:5px;
    position:absolute;
    text-decoration:none;
    transition:0.2s linear;
    background-color:#000000bd;
    opacity:${({isHoveredOne}) => isHoveredOne ? '1' : '0'};
`

const ProjectName = styled.div`
    
`

const ProjectDate = styled.div`
    
`

`The function`
export default function Portfolio() {
    const [isHoveredOne, setIsHoveredOne] = useState(false);
    const HoverHandlerOne = () => {
        setIsHoveredOne(!isHoveredOne);
    }
  return(
        <PortfolioSection id="portfolio">
            <PortfolioContainer>
                <Heading>Portfolio</Heading>
                <PortfolioWrapper>
                    <ItemOne>
                        <Img src={ImgOne}/>
                        <LayerOne isHoveredOne={isHoveredOne} onMouseOver={HoverHandlerOne} 
                        onMouseLeave={HoverHandlerOne} href="">
                            <ProjectName isHoveredOne={isHoveredOne}>Social Media</ProjectName>
                            <ProjectDate isHoveredOne={isHoveredOne}>25/09/2021</ProjectDate>
                        </LayerOne>
                    </ItemOne>
                </PortfolioWrapper>
            </PortfolioContainer>
        </PortfolioSection>
  );
}
user4157124
  • 2,809
  • 13
  • 27
  • 42
Jonathan
  • 27
  • 4

0 Answers0