8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

un-T factory! XAAdvent Calendar 2024

Day 12

Swiper のイージングが変わらないときは .swiper-slide にCSSを書く

Last updated at Posted at 2024-12-11

前提

  • Swiper 11 系を使用
  • (以下は関係ないかもしれないが一応記載)
    • Astro 3 系
    • Tailwind CSS 3 系

結論

Swiper のイージングが変わらないときは .swiper-slide にCSSを書くと変わる(かもしれない)。

.swiper-wrapper ではなく .swiper-slide に。

サンプルを書くほどでもないCSS
.swiper-slide {
  transition-timing-function: cubic-bezier(1,0,0,1);
}

気づいた経緯

Swiper で実装したスライドショーに対して「イージング調整できませんか?」という依頼を受けた。

調べると「 .swiper-wrapper にCSSを書いてね」という情報が多くヒットした。
公式のIssueにも残っている。

このIssueは2013年だが、2021年にも「イージングのオプションを追加してほしい」というIssueが立っていた。

「CSS の transition-timing-function で簡単に変更できますよ」という回答でクローズされている。

https://github.com/nolimits4web/swiper/issues/4377

初期設定のCSSを見たら、確かに .swiper-wrappertransition-timing-function のCSSが適用されている。

簡単でよかった〜と思いCSSを追加したが、変わらない。

わかりやすいように秒数を増やしてみたり、バウンドするぐらい極端なイージング曲線にしてみたり、もろもろ試したが変わらない。

なんで?バージョンアップで調整不可になったとか?と焦りつつ、各セレクタのCSSを見直してみた。
そうしたら、 .swiper-slide にも transition-timing-function のCSSが適用されていた。

もしかして?と思い、CSSを追加した。
あっさり変わった。

わかっていないこと

  • これだけ有名なライブラリなのに、 .swiper-slide にCSSを足してイージングを調整するという記事がパッとは見つからなかった
    • そんなことあるか?
    • (自分のプロジェクトだけがバグっていた可能性も大いにある)
  • この方法でイージングを調整した場合、 .swiper-wrapper に適用されている transition-timing-function は何の役割があるのだろうか
8
0
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
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?