CSS3 SVG 简单过渡:鼠标悬停时出现和消失

问题描述 投票:0回答:1
css svg css-selectors hover transition
1个回答
1
投票

您无法将元素放置在 SVG 内。 您应该将 SVG 和段落都放置在容器内,并将悬停效果设置为作用于容器。 对于过渡,请在每个元素上使用过渡属性,或者将其放置在父元素的所有子元素上。 像这样的东西:

<style type="text/css">
    * {margin: 0; padding: 0;}

    .svg-container * {
        -webkit-transition: all 1000ms ease;
        -moz-transition: all 1000ms ease;
        -o-transition: all 1000ms ease;
        -ms-transition: all 1000ms ease;
        transition: all 1000ms ease;
    }

    svg {
        position: absolute;
        fill: rgba(0, 200, 0, 1);
        z-index: 2;
        top: 0;
        left: 0;
        display: block;
        opacity: 1;
    }

    p {
        position: absolute;
        z-index: 1;
        top:70px;
        display: block;
        color: rgba(0,0,200,0);
    }

    .svg-container:hover svg {
        opacity: 0;
    }

    .svg-container:hover p {
        color: rgba(0,0,200,1);
    }
</style>

    <div class="svg-container">
        <svg width="100" height="100" viewBox="0 0 100 100">
          <rect x="10" y="10" width="100" height="100"/>
        </svg>
        <p>Title of this Website</p>
    </div>
© www.soinside.com 2019 - 2024. All rights reserved.