開発の前に
Web ページをサポートする AEM アプリケーションを開発する前に、デザインについていくつかの決定を行う必要があります。例えば、次の情報が必要になります。
- ターゲットとするデバイス
- ターゲットの表示域サイズ
- ターゲットの表示域サイズごとのページレイアウト
アプリケーション構造
次のような一般的な AEM アプリケーション構造により、すべてのレスポンシブデザイン実装をサポートできます。
- ページコンポーネントは
/apps/<application_name>/components
の下にあります。 - テンプレートは
/apps/<application_name>/templates
の下にあります。
メディアクエリの使用
メディアクエリによって、ページレンダリング用の CSS スタイルを選択的に使用できます。AEM 開発ツールおよび機能を使用すれば、アプリケーションでメディアクエリを効果的かつ効率的に実装できます。
W3C グループが、この CSS3 機能と構文について示した、メディアクエリに関するレコメンデーションを提供しています。
CSS ファイルの作成
CSS ファイルでは、ターゲットとしているデバイスのプロパティに基づいてメディアクエリを定義します。次の実装方法は、各メディアクエリのスタイルを管理するのに効果的です。
- クライアントライブラリフォルダーを使用して、ページのレンダリング時に組み立てられる CSS を定義します。
- 各メディアクエリおよび関連するスタイルを、それぞれ個別の CSS ファイルで定義します。メディアクエリのデバイスの特徴を表したファイル名を使用すると便利です。
- すべてのデバイスに共通するスタイルを、個別の 1 つの CSS ファイルで定義します。
- クライアントライブラリフォルダーの css.txt ファイルで、組み立てられた CSS ファイル内で必要とされる順に CSS ファイルを並べます。
WKND チュートリアルではこの実装方法を使用して、サイトデザインのスタイルを定義しています。WKND で使用される CSS ファイルは、/apps/wknd/clientlibs/clientlib-grid/less/grid.less
にあります。
AEM ページでのメディアクエリの使用
WKND サンプルプロジェクトと AEM Project アーキタイプは、ページポリシーを介した clientlibs を含むページコアコンポーネントを使用します。
独自のページコンポーネントがページコアコンポーネントに基づいていない場合は、クライアントライブラリフォルダーをその HTL または JSP スクリプトに含めることもできます。これにより、レスポンシブグリッドが機能するために必要なメディアクエリを含む CSS ファイルが生成され、参照されます。