タグ

flexに関するnelpesicaのブックマーク (10)

  • Safari 14.1 未満のバージョンに Flexbox の gap プロパティのフォールバックスタイルを追加するための CSS ハック

    Safari 14.1 で Flexbox の gap プロパティが Safari でも使えるようになりました。 Safari 14.1 Adds Support for Flexbox Gaps ただ、Safari のバージョンアップは OS のアップデートが絡むので、他のブラウザに比べてすぐにサポートを切りにくいです。Flexbox gap はとても便利で Safari 以外の 主要なブラウザでは対応されている ので使いたいけど Safari のせいでまだ使えないと嘆いている方も多いのではないでしょうか?僕も同じくでした。 自分を含めそんな方々を救うために、それを解決する CSS ハックを作ってみましたので紹介します。(この CSS ハックにどれくらいのニーズがあるかわかりませんが 😅) 問題点 この問題の一番ややこしいところは CSS Grid 用の gap プロパティは Safa

  • Flexboxで要素の高さをあえて揃えない方法。align-items:flex-startの使い方

    デフォルトだと高さが揃ってしまう このように、子要素それぞれの高さが違っているのに、自動で高さが揃ってしまいます。 このままだと困ってしまうケースもありますよね。 「align-items」を追加 .example { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } 親要素に、「align-items: flex-start;」を追記することで解決します。 値を「flex-end」や「center」にすれば、下端揃えや中央揃えなど、基点を変えて高さを不揃いにできます。 プロパティの種類についてはこちらをご覧ください。

    Flexboxで要素の高さをあえて揃えない方法。align-items:flex-startの使い方
  • flexプロパティの実践的な使い方を徹底解説

    Webページやスマホアプリのレイアウト・コンポーネントを実装する際に知っておくと便利なflexプロパティの基礎知識と実践的な使い方を紹介します。 スペースいっぱいにアイテムを伸縮させて配置したり、画像・アイコンとテキストを並べて配置したり、フォームの入力欄とボタン、複数カラムの垂直方向の揃えなど、実践的な使い方を徹底解説です。 Digging Into the Flex Property by Ahmad Shadeed 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに flex-growプロパティとは flex-shrinkプロパティとは flex-basisプロパティとは flexのショートハンドプロパティ flexプロパティの便利な使い方 flexのショートハンドを勧める理由 flexプロパティの使用例 flexプ

    flexプロパティの実践的な使い方を徹底解説
  • IE11でflexboxを入れ子にするとテキストが折り返さないバグ

    先日紹介したflexbox関連のバグを検証していたときに遭遇したバグがあったのでメモっておきます。今回は入れ子にしたflexboxに関するバグです。 バグの詳細 IE11では、flexboxを入れ子にすると、入れ子にしたflexboxのflexアイテム内のコンテンツがコンテナより大きい場合、はみ出して表示されてしまいます。たとえば、下のIE11での表示のキャプチャ画像のように長いテキストが折り返さなくなってしまいます。 来は下のFirefoxでの表示をキャプチャした画像のように、display: flex;によってカラム表示になってテキストが折り返して表示されます。 デモはこちら このバグが発生するソースコードは以下のようになります。 HTML <div class="flex-outer"> <div class="flex-outer__item"> <div class="flex

    IE11でflexboxを入れ子にするとテキストが折り返さないバグ
  • flex-directionを指定した時に IE11で表示がおかしくなる | WEB PIXY

    CSS3から新たに追加された Flexible Boxはプロパティが豊富で可変レイアウトに柔軟に対応できるのでレスポンシブデザインでの制作には欠かせないものになっています。しかし IEでデバッグをしていた時に flex-directionに関連するバグのようなものに遭遇しました。 IEだけ画像に余分な隙間ができる IE 11では flex-directionに columnや column-reverseを指定した子要素に画像があると、その子要素に画像の元サイズの高さ分のスペースができてしまいます。サンプル画像内にある写真の下のグレーの部分がそれにあたります。 解決方法 解決方法はシンプルで min-heightを利用します。IE 11以外のブラウザでの表示に影響はありません。以下がサンプルのコードです。 <div class="flex"> <p class="flex-inner">L

  • Flexboxのjustify-contentで最後の行を左寄せにする方法

    Flexboxのjustify-contentで最後の行を左寄せにする方法 Flexboxのjustify-contentではflexアイテムの配置方法が指定できます。 justify-contentに「center」と指定すればflexアイテムを中央寄せに、「space-between」と指定すれば両サイドを端に配置し中のflexアイテムを均等に、「space-around」と指定すればすべてのflexアイテムを均等に配置します。 以下は、justify-contentにspace-betweenを指定したサンプルです。flex-wrapにはwrapを指定してflexコンテナより溢れたflexアイテムは改行されるようにしています。 See the Pen Flexboxのjustify-content by Kazuma Nishihata (@to-r) on CodePen. 一見、

    Flexboxのjustify-contentで最後の行を左寄せにする方法
  • flexプロパティの意味と使い方

    flexプロパティは、フレックスアイテムの幅をまとめて指定するショートハンドです。CSS3におけるflexプロパティの意味と使い方、値の指定方法、サンプルコード、使用例について解説します。

    flexプロパティの意味と使い方
  • IE11でflexboxの縦幅がおかしい時はflexプロパティの書き方が原因かもしれない

    公開2015.08.07 更新2017.12.03 仕事技術 Windows10が発売されて新ブラウザのEdgeが使えるようになっても、まだまだInternetExplorerの呪縛からは逃れられません;; 今回はフロートを使ったレイアウトではなく今後主流になってくる「フレキシブルボックス」でのレイアウトで発生した問題です。 以下のようなコードがあるとします。 <div id="flexParent"> <header>ヘッダー</header> <main> <div class="flexChild left">左</div> <div class="flexChild right">右</div> </main> <footer>フッター</footer> </div> よくあるカタチで、縦並びにヘッダー、メインコンテンツ(左右に2カラムあるとします)、フッターがあります。 これら

    IE11でflexboxの縦幅がおかしい時はflexプロパティの書き方が原因かもしれない
  • Flexboxを使うなら知っておきたい「flexアイテム」の幅の計算方法

    Flexboxを使っていて「なんでこの幅になるんだろう?」と疑問に思ったことはありませんか? 僕はFlexboxを使い始めたころ「flexアイテム」の幅がどうやって計算されるのかわからなくて、レイアウトにはまってしまいました。調べて整理したのでシェアします。 仕組みをしっかり理解しておくと、問題が起こったときに対処しやすくなります。ということで、flexアイテムの幅の計算方法、行ってみましょ〜! まずは結論から — flexアイテムの幅の計算方法 結論からざっくり言ってしまいます。 display: flexを指定した親要素を「flexコンテナ」、その中にある子要素を「flexアイテム」と呼びます。 上図のようにスペースが余っている場合、この「flexアイテム」にはflex-growの指定にしたがって余ったスペースが分配される仕組みになっています。 下図のようにflex-grow(またはf

    Flexboxを使うなら知っておきたい「flexアイテム」の幅の計算方法
  • IE11で「flexbox」「min-height」「aligin-items: center」の組み合わせが効かない時の対処法

    ChromeとEdgeでは意図通りに動く。でも、IE11だけ動かない・・・ そんなバグがあって四苦八苦したので対処法をメモ。 どうにかして「Chrome」「Edge」「IE11」の動作を同一にすることが出来ました。 やりたいこと こんな感じ。 div要素の中に文字を均等に真ん中に配置したい。 その時の記述がこんな感じ。 <div class="parent"> <span class="child"> test </span> </div> .parent { display: flex; align-items: center; width: 100%; background-color: green; min-height: 90px; } .child { } flexboxのalign-items: centerで、 高さ指定した親のdiv要素に対してspan要素を中央寄せしていま

    IE11で「flexbox」「min-height」「aligin-items: center」の組み合わせが効かない時の対処法
  • 1