兵庫県で個人デザイナーによる格安ホームページ作成サービス
兵庫県三田市でホームページ制作をしているゴリラドットです。
今日のはかなり専門的でぶっちゃけ誰が読むんだろう、という内容だけれども書くこともないんで書いておく。
slickスライダーとflexを一緒に使うとwidthがうまく取れないのかスライダーが機能しないバグの解決方法である。
まずは解決方法
いきなり解決方法から。
これはflexしてるオブジェクトにwidthも設定してあげれば治る。パーセント指定でもOK。
…いや言わんとしてることはわかる。flexしてんのにwidth使うのって意味ないじゃん、だよね。すごくよくわかる。でもこうしないと治らない。
はい、とりあえず解決方法は紹介したんで、こっからは気になる人だけ。
slickスライダーを横並びしたい
slickスライダーというスライダーを簡単に実装できる便利アイテム。すごい便利。よく使ってます。このゴリラドットのホームページトップでも多用してる。
それとは別にflexていう簡単に段組みできるcssがある。これも便利。自動で横幅計算してくれたりとfloatに比べてなんか近未来感があるやつ。こっちも便利。
しかーし!
この便利なアイテムを一緒に使うとバグる。泣きそうなのである。
flexとslick一緒に使うケース、これってスライダーを横に複数並べたい、てことなんだよなー。このホームページのトップページでもやってるんで興味あるなら見てみてね(https://gorilla.dododori.com/)。
このバグってslick側がflexした要素のwidthをうまく計算できてないから起こってるみたい。もし時間があるなら開発者ツールでバグってる箇所をみてみると異次元のwidthが設定されているのが分かると思う。
いろいろ試したけれど、やっぱりflex要素にwidthを自分で設定してあげるていうやり方でしか解決しなかった。
せっかくflex使ってるんだから幅はflex-growで設定したいけれどそれは無理、と。なんかもやもやするけれど仕方ないね。