2016-11-29 2 views
1

border-radius:50%を使用して円に変換されたsqare画像があります。それはこれまでかなりうまくいっています。 ;)しかし、次のステップはやりにくいです:transform:scaleを使って、画像を「より近くに」ズームします。私は画像の同じサイズを変更する必要はありません、それは同じ直径のままにする必要があります。しかし、私はイメージの小さな部分を示したいと思います。ズームは、ホバー上でアクティブにする必要があります。ホバリングは0.8秒間処理する必要がありますborder-radius 50%とtransform(scale)の画像

私のコードはFirefoxでは完全に機能しますが、ChromeとSafariでは完全に機能しません。私の間違いはどこですか?

マイHTML:

<div class="hopp_circle_img"> 
    <img src="... alt="" /> 
</div> 

マイCSS:

.hopp_circle_img {  
width: 100% !important; 
height: 100% !important; 
max-width: 100% !important; 
max-height: 100% !important; 
overflow: hidden; 
-moz-border-radius: 50%; 
-webkit-border-radius: 50%; 
-o-border-radius: 50%; 
border-radius: 50%; 
} 

.hopp_circle_img img {  

    transition: all 0.8s; 
-moz-transition: all 0.8s; 
-webkit-transition: all 0.8s; 
-o-transition: all 0.8s; 
-ms-transition: all 0.8s; 
} 

.hopp_circle_img img:hover { 
display: block; 
z-index: 100; 
transform: scale(1.25); 
-moz-transform: scale(1.25); 
-webkit-transform: scale(1.25); 
-o-transform: scale(1.25); 
-ms-transform: scale(1.25); 
    } 

問題:
1)クローム: "ズーム" は動作しますが、遷移時間の間、(O、8S)イメージは平らな境界を持っています。移流が行われた後、彼らは丸められます。

2)Safari: 移行時間は無視され、「ソフト」ズームなしですぐに移行が行われます。

3)IE:SafariやChromeでうまく動作しない場合、私はIEを見てみませんでした。 ;)

あなたのアイデアをお寄せいただきありがとうございます。私は多くの異なったことを試みましたが、どれも働いていませんでした。 はSafariで問題を修正し.hopp_circle_img:hover.hopp_circle_img img:hoverを変更する: ラファエル

+1

、答えはここにあります - http://stackoverflow.com/questions/31693219/issue-while-using-transitions-opacity-change-overflow-hidden/31698580#31698580 – Harry

+0

ありがとうございますが、どうすれば問題を解決できますか?また、サークルが成長している間にサークルをマスクするために、サークル上に画像のあるレイヤーを配置しようとしました。問題は、マスクがホバーを停止することです。だからそれは多かれ少なかれ役に立たない。 – rabox66

+0

それは、その回答の**解決策は何ですか?**セクションにあり、LGSonがここで提供している回答にあります。彼らはあなたが最初の問題を解決するのを助けませんか? – Harry

答えて

2

Harry's正方形を修正することをお勧めします。これはSafariでも同様に動作します。

まず、接頭辞プロパティが接頭辞の前にする必要があり、第二、

のよう すべてを使用していない
transition: all ... 

名移行する性質、この場合は

transition: transform 0.8s 

注意残りの接頭辞付きのプロパティを追加する必要があります。

.hopp_circle_img { 
 
    position: relative;   /* new property added */ 
 
    width: 100% !important; 
 
    height: 100% !important; 
 
    max-width: 100% !important; 
 
    max-height: 100% !important; 
 
    overflow: hidden; 
 
    -webkit-border-radius: 50%; 
 
    border-radius: 50%; 
 
    z-index: 0;     /* new property added */ 
 
} 
 
.hopp_circle_img img { 
 
    -webkit-transition: transform 0.8s; /* re-ordered property, named  */ 
 
    transition: transform 0.8s;   /* what to be transitioned   */ 
 
} 
 
.hopp_circle_img img:hover { 
 
    display: block; 
 
    z-index: 100; 
 
    -webkit-transform: scale(1.25); 
 
    transform: scale(1.25); 
 
}
<div class="hopp_circle_img"> 
 
    <img src="http://lorempixel.com/400/400/nature/1" alt="" /> 
 
</div>
あなたの第1の質問については

+0

私のコードをクリアしていただきありがとうございます。それにもかかわらず、それはクロームでは動作しません。あなたの(クリアされた)コードには、新しいz-index-stapleがあります。それは解決策とは何ですか?セクション。しかし、それは私の問題を解決しません。 – rabox66

+0

@ rabox66これはChromeで動作します。 'zhoop_circle_img'の' position:relative; 'を忘れていないことを確認してください。これは' z-index'が動作するために必要です – LGSon

+0

LGSon。大いに感謝する!私はもう一度それを試してみるが、あなたは私のために完全にすべてを準備したので、コードをコピーすればよい。 多分それはキャッシュです。私は実際にキャッシュプラグインを使ってwordpress-installtionで作業します。それは非常に迷惑になることがあります。 – rabox66

0

OK、私は最初の成功を持っています。しかし、まだChromeに残っています。

関連する問題