9

私はこれに代わるものを見つけようとしています:

"transition:background-image 1s whatever"

FirefoxではWebkit ブラウザーでのみ動作するためです。

私はすでに不透明度の代替手段を試しましたが、不透明度を使用すると背景とともに消える背景コンテナにコンテンツがあるため、これはオプションではありません。

ありがとうございました。

4

4 に答える 4

18

2つの疑似要素を使用してそれを行うことができます

CSS

.test
{
    width: 400px;
    height: 150px;
    position: relative;
    border: 1px solid green;
}

.test:before, .test:after {
    content: "";
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    opacity: 1;
}
.test:before {
    background-color: red;
    z-index: 1;
    transition: opacity 1s;
}

.test:after {
    background-color: green;
}

.test:hover:before {
    opacity: 0;
}

実際の画像をいじる

(カーソルを合わせて遷移)

div コンテンツを表示できるようにするには、疑似要素が負の z-index にある必要があります。

修正された z-index をいじる

IEはこのホバーをトリガーしないようです

.test:hover:before {
    opacity: 0;
}

しかし、これをトリガーします

.test:hover {
}
.test:hover:before {
    opacity: 0;
}

(どう見ても馬鹿げている)

IE10のフィドル

于 2013-11-06T17:08:37.373 に答える
-2
#id_of_element {
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}

これではいけませんか?すべてを背景画像に変更するだけです。

于 2013-11-06T11:40:58.380 に答える