Flexboxはご存知でしょうか。

Fexboxはサイズが動的なデータの場合でも、コンテナー内のより効率的なレイアウト、配置、およびアイテムとスペースの分配の提供を目的としています。Flexboxは柔軟性があり、フロートやpositionを使用せずにレスポンシブレイアウトを簡単に設計できます。

  • 水平方向の位置のあるテキスト、コンテンツのブロックと別のブロックを中央に整列させる必要がある
  • 中央に整列のためCSSトリックを利用するが、全画面または動的データが表示されない状態になる
  • サードパーティのライブラリを利用せずに、レスポンシブインターフェースの設計が大変

など、FexboxならPhotoshopから画像を書き出す際に起こりがちな問題を解決することができますよ。

  • IT人材が不足している事業者様
  • floatを使用したレイアウトを行っていた方
  • Flexbox について詳しく知りたい方

これらに当てはまる方におすすめの記事となっています。これを読めばFlexboxの使い方や概要を知ることができます。

Flexbox CSSとは?

これはCSS3のモジュールの一つであり、あらゆるデバイスに表示され、柔軟に直感的なレイアウトを作成できるよう、内部要素を自動的にスケーリングするWebレイアウトモデルです。

Flexboxは、サイズや距離も含めて、コンテナーのアイテムを均等に分散する方法をコンテナーに決定させます。

Flexboxは多くのサイトにて利用されています( Bootstrap3のfloatに代わり、Bootstrap4もFlexboxを利用してグリッドシステムを構築しています)。

Flexboxは、純粋なCSSの問題を取り除くのに役に立つことが見込まれています。ただし、この新しいモデルを慣れるのは簡単なことではありません。

Flexboxの構造

Flexboxについて詳しく説明する前に、Flexboxの構造を簡単に確認する必要があります。 以下にはFlexboxの構造図です。

Flexbox構造には、コンテナーとアイテムの2つのコンポーネントがあります。

コンテナー

内部の要素を囲む大きなコンポーネントです

アイテム

コンテナーの子要素はアイテムと呼ばれます。

アイテムでは、コンテナーで使用する列の数を設定したり、表示順序を設定したりできます。

Flexboxの概念

Flexbox構造の中では、以下にいくつか概念を理解する必要があります。

Main start と Main end

Flexboxを設定する際に、コンテナーの開始点はメインスタートで、終点はメインエンドと呼ばれます。

つまり、内部のアイテムはメインスタートからメインエンドまで表示されます(またはメインエンドまで表示できます)。

そして、その垂直寸法のクロススタート、クロスエンドは同じ意味ですが、常にメインスタート、メインエンドに垂直となります。

Main axis

Main axisは、アイテムの表示方法を制御する主軸です。

Main size

Main sizeはmain axisに基づくアイテムのサイズです。

Cross axis

Main axisに似ているが、ain axisに垂直です。

Cross size

cross axisに基づくアイテムのサイズです。

Flexboxコンテナーと属性

Flexboxコンテナーは最も外側の要素であり、内部に子アイテム(Flex items)を含みます。

この要素では、プロパティdisplay:flex:、またはdisplay:inline-flexを設定する必要となります。

そこでは、下記のプロパティを使用してFlex itemsのレイアウトを構成します。

flex-direction

row | row-reverse | column | column-reverse;main axisを設定します。デフォルトがrowであり、ほとんどの場合にはrowにします(フレックスアイテムが水平行にあります)。

flex-wrap

nowrap | wrap | wrap-reverse; フレックスアイテムの幅を設定する時、この属性として、コンテナーの幅を超えた場合にフレックスアイテムを改行にするかどうかを指定します。

デフォルトは改行にします(nowrap)

Flex-flow  [flex-direction] [flex-wrap]

Flex-flow は、上記の2つの属性を組み合わせたものです。

justify-content

flex-start | flex-end | center | space-between | space-around | space-evenly | start | end | left | right … + safe | unsafe; main axis(主軸)に従ってフレックスアイテムの配置として設定されます。

align-items

stretch | flex-start | flex-end | center | baseline | first baseline | last baseline | start | end | self-start | self-end + … safe | unsafe;cross axis(交差軸)に従ってフレックスアイテムの配置として設定されます。

align-content

flex-start | flex-end | center | space-between | space-around | space-evenly | stretch | start | end | baseline | first baseline | last baseline + … safe | unsafe; cross axis(交差軸)に従ってフレックスアイテムの配置として設定されます。

Flex itemsと属性

親タグがFlexboxコンテナであるエレメントは、Flex itemsとして扱われます。

Flex itemsには、コンテナー内の独自のサイズと位置をカスタマイズできるように下記のプロパティがあります。

  • flex-grow: number; /* default 0 */コンテナー内でのアイテムスペースを設定します。
  • flex-shrink: number; /* default 1 */ コンテナーの収縮に従ってアイテムの縮小係数を設定します
  • flex-basis: number| auto; /* default auto */ アイテムのサイズが設定されます。
  • flex: none | [ <‘flex-grow’> <‘flex-shrink’>? || <‘flex-basis’> ] 上記の3つの属性の省略形です。
  • order: number; /* default is 0 */ コンテナー内のアイテムの位置が設定されます。
  • align-self: auto | flex-start | flex-end | center | baseline | stretch;cross axisに従ってアイテムの配置が設定されます。この属性はalign-itemsをオーバーライドにします。

結論

CSSのFlexboxは、floatを使用した通常のレイアウトを変える非常に便利なページレイアウトカスタマイズの1つであると言えます。

floatの不要な使用を最小限に抑えるため、サイトの小さな要素のレイアウトに適しています。

Mozilla Firefoxから推奨設定によると、Flexboxを使用して小さな領域(サイトのフレームなど)にレイアウトを設定します。

より大きなスケール(サイトの列など)にレイアウトを設定する際には、CSS Grid LayoutはCSSの中ですでに一番強力なイアウトシステムと言えます。これは2次元システムです。

つまり、一方向のシステムであるFlexboxとは異なり、列と行の両方を処理できます。

Flexboxの概要を紹介しました。 Flexboxは使いやすいと言えますが、習得するには多くの練習が必要です。

=>  Flexboxを学ぶための楽しいゲームを皆さんに紹介します

dehaでは、5年ほど前から、ベトナムオフショア開発を行っています。

ベトナムでオフショア開発を行う際の費用や、エンジニアの質を知りたい方は、無料で見積もりいたしますので、お気軽にお問い合わせください。

お問い合わせはこちらから

Mai Tran

Recent Posts

2034年に向け急拡大するベトナム企業AI市場:最新の市場規模・シェアと未来予測

生成AIの急速な普及を背景に、世界各国で企業のAI活用が加速しています。 その中でもベトナムは、政府による積極的なAI政策やデジタル化の推進、海外企業による投資拡大を追い風に、東南アジア有数の成長市場として注目を集めています。 この記事では、最新の市場規模や市場シェア、成長を支える要因、主要企業の動向をもとに、2034年に向けたベトナム企業AI市場の将来性と日本企業に広がるビジネスチャンスについて詳しく解説します。 AI市場に興味がある方 ベトナムのIT市場に興味がある方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばベトナム企業のAI市場規模がわかるのはもちろん将来の予測もわかりますよ。 (more…)

2 weeks ago

アジャイル・ウォーターフォール・ハイブリッド:企業価値を最大化する開発戦略の選び方

近年、システム開発で代表的な手法として長年利用されてきたのが「ウォーターフォール開発」と「アジャイル開発」を組み合わせた「ハイブリッド開発」が新たな選択肢として注目されています。 この記事ではそんな「ハイブリッド開発」について、どう言った特徴があるのかや、企業価値を最大化するためにはどのような視点で開発戦略を選択すべきかについて見ていきます。 アジャイル開発に興味がある方 DX化を進めたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば「ウォーターフォール開発」と「アジャイル開発」のそれぞれの特徴と、それを掛け合わせた「ハイブリッド開発」の特徴が丸わかりですよ。 アジャイル開発の特徴とメリット アジャイル開発とは、「素早い」「俊敏な」という意味を持つ言葉の通り、変化に柔軟に対応しながらシステムを開発する手法です。 従来のウォーターフォール開発では、要件定義、設計、開発、テスト、リリースという工程を順番に進め、最後に完成したシステムを利用者へ提供します。 一方、アジャイル開発では短期間の開発サイクル(スプリント)を繰り返します。一般的には1〜4週間程度の期間で、優先度の高い機能を開発し、動作する状態で提供します。 その後、利用者から意見をもらい、次の開発に反映します。 この流れを繰り返すことで、利用者の本当のニーズに近いシステムを作りやすくなります。 例えばECサイトの決済機能を開発する場合、最初からすべての決済方法を実装するのではなく、まずクレジットカード決済だけを提供し、その後電子マネーやQR決済などを追加していくことが可能です。 この方法では、早い段階でサービスを市場へ投入でき、利用状況を確認しながら改善できます。 アジャイル開発の主なメリットは以下の通りです。…

2 weeks ago

7Rフレームワークとは?生成AI活用で加速するレガシーシステムマイグレーション

企業の基幹システムの多くは、10年、20年、あるいは30年以上にわたって運用され続けています。 しかし近年、こうしたレガシーシステムを取り巻く環境は大きく変化しています。 近年、注目されているのが「7Rフレームワーク」です。 7Rフレームワークは既存システムをクラウド環境へ移行する際に採用される代表的な意思決定モデルであり、システムごとに最適な移行戦略を選択するための考え方です。 この記事ではそんな7Rフレームワークについて、特徴を紹介していきます。 7Rフレームワークに興味がある方 生成AIを活用したい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば7Rフレームワークの特徴がわかるのはもちろん、AI時代での7Rフレームワークについて丸わかりですよ。 (more…)

3 weeks ago

構造変化に直面するオフショア開発:「量」の補完から「AI Native」への転換期

オフショア開発は従来の「量」の補完から、しかし、生成AIの急速な進化によってその前提が大きく変わろうとしています。 今後は「どれだけ高い生産性を実現できるか」が重要です。 この記事ではそのようなオフショア開発のあり方の変化について見ていきます。 オフショア開発に興味がある方 社内のIT人材が不足している方 AIを使った開発に興味がある方 これらに当てはまる方におすすめの記事となっています。これを読めばオフショア開発の変化についてわかるのはもちろん、AI Nativeについても丸わかりですよ。 (more…)

3 weeks ago

生成AI時代における「2030年に79万人IT人材不足」の再定義と構造変化

近年、日本のIT業界では「2030年に最大79万人のIT人材が不足する」という予測が繰り返し語られています。 この数字は、日本社会のDX推進や企業のシステム開発を支える人材の不足を警告する象徴的な指標として広く認知されています。 しかし、2022年末以降の生成AIの急速な発展により、この予測の前提条件は大きく変化しています。 かつては人間が手作業で行っていたプログラミング、設計書作成、テストケース生成、ドキュメント作成、データ分析などの業務が、AIによって大幅に自動化され始めているためです。 その結果、「79万人不足」という予測を単純に受け入れるのではなく、「どのような人材が不足し、どのような人材の需要が減少するのか」という質的な観点から再検討する必要が生じています。 この記事では、生成AI時代におけるIT人材不足の構造変化を分析し、2030年に向けて求められる人材像について考察をしていきます。 生成AI時代が気になる方 IT業界の方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば「2030年79万人IT人材不足」問題について、新しい見解とその対策がわかりますよ。 (more…)

1 month ago

AIレガシーマイグレーション|従来の課題をDXへ導くDEHAの解決策

長年運用されてきた基幹システムは、企業活動を支える重要な存在である一方で、技術的負債の蓄積、保守人材不足、クラウド対応の遅れ、ブラックボックス化など、さまざまな問題を引き起こしています。 従来のマイグレーションでは、既存システムの解析からコード変換、データ移行、テスト、カットオーバーまで、多くの工程を人手に依存していました。 こうした背景の中、注目を集めているのが「AIレガシーマイグレーション」です。 この記事ではAIレガシーマイグレーションについて、どんな特徴があるのかやその強みに着目をしていきたいと思います。 AIレガシーマイグレーションが気になる方 製造業の方 DXをすすめたい企業の方 これらに当てはまる方におすすめの記事となっています。これを読めばAIレガシーマイグレーションがどう言ったものかがわかるのはもちろん、DEHAのAIレガシーマイグレーションについてもわかりますよ。 (more…)

2 months ago