2016-08-12 11 views
0

私は小規模なビジネスページを作成しています。ナビゲーションボタンのために作成した背景画像があります。私は彼らが画像の上を浮遊するときの移行効果を持つことを望みます。 Chromeで動作しますが、FirefoxやInternet Explorerでコードが機能しない理由がわかりません。FirefoxまたはInternet ExplorerでCSS3の移行が機能しない

.nav li a.active { 
    background-image: url('../images/02amainhover.png'); 
    background-color: transparent; 
    background-repeat: no-repeat; 
    background-attachment: center center; 
    width: 245px; 
    height: 74px; 
    left: 72px; 
    top: 432px; 
    position: fixed; 
    transition: all .8s ease-out; 
    -moz-transition: all .8s ease-out; 
} 
.nav li a.active:hover { 
    background-image: url('../images/03amainhover.png'); 
    background-color: transparent; 
    background-repeat: no-repeat; 
    background-attachment: center center; 
    width: 245px; 
    height: 74px; 
    left: 72px; 
    top: 432px; 
    position: fixed; 
    transition: all .8s ease-in; 
    -moz-transition: all .8s ease-in; 
} 

答えて

0

いくつかのもの。第一に、あなたはあまりにも多くのコードを繰り返すことがあります。あなたがそれを変更するように言うまで、ウェブサイトは同じコードを想定しているので、それらのスタイルをすべてコピーするのは無意味です。移行したいもので更新するだけで済みます。つまり、背景画像を変換することはできません。​​

+0

これは少しになりますそれ以来、私はそれがなぜ正しく動作していないのかを説明するでしょう!ありがとう、私は参照シートが私に非常に良い使用されていることがわかります。そして、繰り返しコード部分までは、追加するのが良いと思っていたのですか?誰かが以前に言われたことがあったのは、しばしばブラウザが仕様の繰り返しを必要とし、繰り返しコードの不足がコードが正常に機能しない理由の問題であることがあるということです。 – Mars

+0

古いブラウザ(IE6)では、変更された値に対して ':hover'の繰り返しコードが必要でした。基本的には、 ':ホバー'を変更する方法と、もう一度元に戻す方法の両方を知る必要がありました。 – KnightHawk

+0

人々がまだIE6をコーディングしている場合、彼らは何か間違っています。 –

0

位置を持つ2つの画像を作成することができます:絶対および異なるZ-インデックス。上の画像は不透明度が1から0に変わる可能性があります。これはすべてのブラウザで機能します。

+0

そして、不透明度を下げると、私が変わったような見た目が変わることがありますか?私は幻想的なトランジションを望んでいないので、単純な「オール」トランジションエフェクトなので、イメージがホールドされたときにイメージが切り替わります。 – Mars

+0

はい、好きなように動作します。 –

0

@Chris Stanleyが指摘しているように、背景画像を変えることはできません。

あなたの移行がどのように見えるかによって、多くのオプションがあります。私はイメージを見ていない。

  • あなたは一方から他方へ(瞬時)filters
  • あなたは、単一の画像ファイル(グリッド、トップ/ボトムなど)で複数の画像を合成し、その後に「移動」の背景の位置を使用することができます使用することができます。これを他のトランジションやフィルターと組み合わせて、追加のエフェクトを加えることができます。これはかなり古いトリックで、トランジションとフィルターが追加されて新しいツイストを加えることができます。 (画像を見た後)

EDIT: あなたの新しいコードは次のようになります。

.nav li a.active { 
    background-image: url('../images/02amainhover.png'); 
    background-color: transparent; 
    background-repeat: no-repeat; 
    background-attachment: center center; 
    width: 245px; 
    height: 74px; 
    left: 72px; 
    top: 432px; 
    position: fixed; 
    transition: all 0.8s ease-out; 

    box-shadow:0px 0px 2px 2px rgba(0,0,0,0.5); 

} 

.nav li a.active:hover { 

    filter: invert(100%); 
    transition: all 0.8s ease-in; 
} 

(私はあなたがいずれかのもう-moz-transitionを必要としないと思います。)

+0

それでは、移行コードやフィルタに似たコードを追加すると、効果は同じになりますか? – Mars

+0

おそらく "同じ"ではありませんが、まだ多くのことができます。私はあなたの2つのイメージを見たことがない...ほぼ同じ効果を生み出すことは可能かもしれないが、あなたがしようとしていることを見ていないと私は話すことができない。 – KnightHawk

+1

私はあなたに私の2つのイメージを見せることができます。私はそれらのためのリンクを持っています。これは私のメインイメージです:http://www.freewebs.com/aph-imvu/02amainhover.pngこれは私の2番目のイメージです。http:// www.freewebs.com/aph-imvu/03amainhover.png – Mars

関連する問題