備忘録です。
それはある日、いつものようにslick.jsを使ってスライダーを実装しようとした時のことでした。
いつもと同じはずのスライダーが・・・限界突破しとる!
こんなイメージです↓
slick.cssやslick-theme.css等のCSSを読み込み忘れた時の症状と似ているのですが、確認したところCSSは問題なく読み込んでいました。
例によってGoogle先生に助けを求めたところ、やっぱり同じ症状で困っている人がいますねぇ・・・
今回は以下のサイトを参考にさせて頂きました。
偉大な先人に感謝を(こいついっつも感謝してんな)。

[slick.js]バグってページ幅がめっちゃ長くなった場合の対処法
一発で直せる。
つまり、スライダーの親要素にdisplay: flex; が掛かっていると、レイアウトが限界突破するようです。
(display:grid; でもレイアウトが崩れるようです)
ソースだとこういう感じ↓
・html
<div class="container"> <div class="content"> <ul class="slider"> <li class="slide-item">スライド1</li> <li class="slide-item">スライド2</li> <li class="slide-item">スライド3</li> </ul> </div> <aside class="sidebar"> <p>サイドバー</p> </aside> </div>
・css
.container { display: flex; }
例としてざっくり書きましたが、このような形だと宜しくないのです。
これを回避するために、display: flex; になっている要素の子要素に以下のCSSを反映させます。
.container * { min-height: 0; min-width: 0; }
「*」自体にCSSを記述している事例もあったのですが、さすがに全体に掛けるのは抵抗があります・・・。
かといって、「.content *」にCSSを効かせても改善しなかったので、「display: flex; にしている要素以下」にしないといけないようです。
前にも同じ問題で引っかかってしまったのですが、すっかり忘れていたので、今回改めて備忘録でした。
意外とこの症状にぶち当たることは少ないので、また忘れるんだろうな(笑)