2016-10-04 9 views
0

私は検索して解決策を見つけることができません。私は#ゲームと呼ばれるIDを持つセクションがあり、次のリンク設定があります。ブラウザの切り替えに関する問題Css3

#games a { 
 
    opacity: 1.0; 
 
    filter: alpha(opacity = 100); 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s;  
 
    transition: .5s; 
 
} 
 

 
#games a:hover { 
 
    opacity: 0.6; 
 
    filter: alpha(opacity = 5); 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s;  
 
    transition: .5s; 
 
}
<section id="games"> 
 
    <a href="https://www.game.com" target="_blank"> 
 
     <div class="columns small-12 medium-6 large-3 col-pad"> 
 
      <img src="http://kurld.com/images/wallpapers/games-pictures/games-pictures-10.jpg"> 
 
      <h3>My Game Title</h3> 
 
      <dl class="clearfix"> 
 
       <dd>Gamename</dd> 
 
       <dd>Stats</dd> 
 
      </dl> 
 
     </div> 
 
    </a> 
 
</section>

それはMozillaで動作しますが、それはバグだらけの移行のように持っています。クロムやエクスプローラでは全く動作しません。私は基礎も使っています。私は基礎CSSを削除しましたが、影響はありませんでした。

+1

あなたはホバー定義の遷移を再定義する必要はありません。また、不透明度宣言と不透明度フィルタは一致しません(60%対5%)。これは、異なるブラウザでは一貫性のない動作につながります。 –

+0

ここであなたの目標は何ですか?あなたはそのコードで何を達成したいですか –

答えて

1

adisplay:blockを使用して、それがaタグはインライン要素なので、これは動作します。 'a'要素の要素を調べると、その要素の中にある要素を囲んでいないことがわかります。

が、これはあなたがあなたが #game adisplay:inline-blockを使用することができます

#games a { 
 
    display:block; 
 
    opacity: 1.0; 
 
    filter: alpha(opacity = 100); 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s;  
 
    transition: .5s; 
 
} 
 

 
#games a:hover { 
 
    opacity: 0.6; 
 
    filter: alpha(opacity = 5); 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s;  
 
    transition: .5s; 
 
}
<section id="games"> 
 
    <a href="https://www.game.com" target="_blank"> 
 
     <div class="columns small-12 medium-6 large-3 col-pad"> 
 
      <img src="images/games/myimage.jpg"> 
 
      <h3>My Game Title</h3> 
 
      <dl class="clearfix"> 
 
       <dd>Gamename</dd> 
 
       <dd>Stats</dd> 
 
      </dl> 
 
     </div> 
 
    </a> 
 
</section>

1

私はあなたのtransition文がfadeパラメータが不足していると思う - 試してみてください。

transition: opacity .5s ease-in-out; 
+0

@staypuftman私はすでに同じ結果を試しています。 – Case

0

を探していたものであるなら、私に知らせてください。元の記事に私のコメントからフォローアップ

#games a { 
 
    opacity: 1.0; 
 
    filter: alpha(opacity = 100); 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s;  
 
    transition: .5s; 
 
    display:inline-block; 
 
} 
 

 
#games a:hover { 
 
    opacity: 0.6; 
 
    filter: alpha(opacity = 5); 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s;  
 
    transition: .5s; 
 
}
<section id="games"> 
 
    <a href="https://www.game.com" target="_blank"> 
 
     <div class="columns small-12 medium-6 large-3 col-pad"> 
 
      <img src="images/games/myimage.jpg"> 
 
      <h3>My Game Title</h3> 
 
      <dl class="clearfix"> 
 
       <dd>Gamename</dd> 
 
       <dd>Stats</dd> 
 
      </dl> 
 
     </div> 
 
    </a> 
 
</section>

+0

'a'、' span'、 'img'のような' a'(新しい兄弟)の後に別のインライン要素を追加すると、それらはすべて1行にとどまるので、 'inline-block'は使用しないでください。私はそれがOPが望むものだとは思わない。ここに例を見てください:https://jsfiddle.net/bcp5a4d5/ –

+0

@MihaiT私たちはアイデアはありません;)OPが望んでいるもの - そうかもしれない、それはマシュマロかもしれません。しかし、他のインライン要素とその効果を追加することは絶対に正しいです。 –

1

だから、いくつかの問題。

最初:アンカーは本質的にインライン要素です。インライン要素の中にブロック要素を配置することはできませんので、これは他の答えが出現する場所です(アンカーをinline-blockまたはblockにする)。

第2:プロパティを変更していない限り、ホバー上のトランジションを再定義する必要はありません。 :hoverはより具体的なセレクタですが、その要素の他のスタイルは無効になりません。おそらく、あなたのアプリケーションの振る舞いをニーズに合わせて調整したり、スタイルをより読みやすくするために、トランジション関数を明示的に追加するべきでしょう。

第3:不透明度がuniversally supported after IE8なので、実際にはfilterは必要ありません。これは、フィルタによって異なる不透明度が指定されているため、特に不整合な動作につながります。

第4回:トランジションもwidely supportedです。あなたが本当に必要とする唯一のプレフィックスは-webkit-であり、それはほとんどの場合実際にはほとんど必要ありません。

更新されたコード

#games a { 
 
    display: block; 
 
    opacity: 1.0; 
 
    
 
    -webkit-transition: opacity .5s ease; 
 
      transition: opacity .5s ease; 
 
} 
 

 
#games a:hover { 
 
    opacity: 0.6; 
 
}
<section id="games"> 
 
    <a href="https://www.game.com" target="_blank"> 
 
     <div class="columns small-12 medium-6 large-3 col-pad"> 
 
      <!-- This image is dead anyway, so I'm commenting it out for now --> 
 
      <!-- <img src="http://kurld.com/images/wallpapers/games-pictures/games-pictures-10.jpg"> --> 
 
      <h3>My Game Title</h3> 
 
      <dl class="clearfix"> 
 
       <dd>Gamename</dd> 
 
       <dd>Stats</dd> 
 
      </dl> 
 
     </div> 
 
    </a> 
 
</section>

関連する問題