3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Safariでborder-radiusがhoverアニメーション中に効かない時の対処

Last updated at Posted at 2021-01-24

##こういう時に

// HTML
<div class="img_wrap">
  <img src="/img/sample.jpg" alt="">
</div>

// CSS(SCSS)
.img_wrap {
  border-radius: 30px;
  overflow: hidden;

  img {
    transition: transform 0.3s;
    transform-origin: center center;
  }

  &:hover img {
    transform: scale(1.2);
  }
}

こんな感じでホバーした時に画像をズームアップして表示したい、そして角丸でマスクしたい、そういう時にSafariでのみアニメーション中に角丸がなくなってしまうことがあります。

##こうすると治るかも


// CSS(SCSS)
.img_wrap {
  border-radius: 30px;
  overflow: hidden;
  will-change: transform; // 画像をラップしている要素にこれを付けます

  img {
    transition: transform 0.3s;
    transform-origin: center center;
  }

  &:hover img {
    transform: scale(1.2);
  }
}

画像をラップしている要素に will-change: transform; を付けましょう。
これで解決する場合がありますので、他の記事などによくある z-index を使用した方法で治らなかった方はこちらを試してみるといいかもしれないですね。

z-indexを使用した方法の記事
safariでborder-radiusが動いてない時の解決法

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?