Adobe
製品
Creative Suiteファミリー
Photoshopファミリー
Acrobatファミリー
Flash Platform
Digital Marketing Suite
Digital Enterprise Platform
Digital Publishing Suite
その他の製品一覧
ソリューション
コンテンツオーサリング
教育
金融機関
デジタルマーケティングソリューション
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア安心のサポート& サービス
アカデミック版のご購入学生、教職員、個人
ライセンスのご購入企業、教育機関、官公庁
販売パートナー
検索
 
情報 サインイン
ようこそ、 カート 注文状況 ユーザー登録
マイアカウント
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション   検索  
ソリューション 会社情報
サポート ラーニング
サインイン ようこそ、 注文状況 ユーザー登録
Qty:
Subtotal
Checkout
Adobe Developer Connection / Flexデベロッパーセンター /

Flex 4 マスターシリーズ #04 Flex 4 CSS

著者 廣畑 大雅 (taiga)氏

廣畑 大雅 (taiga)氏
  • taiga.jp

作成日

28 March 2010

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

Tags

必要条件

ユーザーレベル

すべて

必要な製品

  • Flash Builder 4 (Download trial)

Flex 4 マスターシリーズ 連載記事一覧

  • #01 MXML 2009
  • #02 Flash Builder 4 新機能
  • #03 Flex 4 ステート
  • #04 Flex 4 CSS
  • #05 Spark コンポーネント
  • #06 データ中心型開発(DCD) Part1
  • #07 Spark Skining part 1
  • #08 Spark Skining part 2
  • #09 Flex 4 エフェクト
  • #10 Flex 4 Spark Layouts
  • #11 FlexUnit 4
  • #12 データ中心型開発(DCD)Part2

はじめに

このチュートリアルでは、Flex 4 から新しく採用されたCSSについて紹介します。

ネームスペース

Flex 4 からネームスペース修飾子が、すべてのアプリケーションの CSS 宣言のタイプセレクタで必要になりました。

ネームスペースを定義する記法は、ネームスペース修飾子の後にネームスペース接頭辞と、ネームスペース名 (URI またはクラスパス ) を記述することによって定義できます。

具体的には、以下のように記述します。

<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx"; @namespace s "library://ns.adobe.com/flex/spark"; @namespace sample "com.adobe.sample.*"; </fx:Style>

サンプルコード 01. Flex 4 アプリケーションの CSS 宣言上のネームスペース定義

定義した接頭辞は、タイプセレクタの直前を「パイプ (|) 」で区切り、記述します。

具体的には、以下のように記述します。

<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx"; mx|Button { color:#990000; } </fx:Style>

サンプルコード 02. Flex 4 アプリケーションのタイプセレクタ定義

セレクタ

Flex 3 以前のバージョンでは、下記 2 種類の CSS セレクタがサポートされていました。

Button { color:#009900; }

サンプルコード 03. Flex 3 タイプセレクタ

.special { color:#990000; }

サンプルコード 04. Flex 3 のクラスセレクタ

Flex 4 では、タイプセレクタ、クラスセレクタに加えて、新しいセレクタが採用されました。

id セレクタ ( サンプルプロジェクト : IDSelectorSample.fxp )

コンポーネントに割り当てた任意の id 名をセレクタとして使用することができます。id名の接頭辞に「ハッシュ記号 (#) 」を用いることで定義できます。

以下のコードでは、id が button001 と定義されている Button に対してのみ、スタイルを定義します。

<fx:Style> # button001 { color : #990000; font-size : 40; } </fx:Style> <s:Button id="button001" /><!-- スタイルが適用される --> <s:Button id="button002" /><!-- スタイルが適用されない -->

サンプルコード 05. Flex 4 の id セレクタ

図 01. id セレクタのサンプル
図 01. id セレクタのサンプル

子孫セレクタ ( サンプルプロジェクト : DescendantSelectorSample.fxp )

コンポーネントの親子関係 ( 祖先 - 子孫の関係 ) から、スタイルを定義することができます。子孫セレクタは、空白で区切られた 2 つ以上のタイプセレクタから構成することによって成立します。

以下のコードでは、Panel コンポーネントの子要素である Button に対してのみ、スタイルを定義します。

<fx:Style> @namespace s "library://ns.adobe.com/flex/spark"; s|Panel s|Button { color : #990000; font-size : 40; } </fx:Style> <s:Panel> <s:Button /><!-- スタイルが適用される --> </s:Panel> <s:Button /><!-- スタイルが適用されない -->

サンプルコード 06. Flex 4 の子孫セレクタ

図 02. 子孫セレクタのサンプル ( Panel 内の Button のみスタイルが適用される )
図 02. 子孫セレクタのサンプル ( Panel 内の Button のみスタイルが適用される )

疑似セレクタ ( サンプルプロジェクト : PseudoSelectorsSample.fxp )

コンポーネントのステートを疑似クラスとして扱うことによって、セレクタとしてスタイルを定義することができます。疑似セレクタは、ステート名の接頭辞に「コロン (:) 」を用いることで定義できます。

以下のコードでは、Button のタイプセレクタに対して疑似セレクタを適応させ、Button の各予約ステート (up, over, down, disabled) 単位で、スタイルを定義するサンプルコードです。

<fx:Style> @namespace s "library://ns.adobe.com/flex/spark"; s|Button:up { color : #000000; font-size : 40; } s|Button:over { color : #990000; font-size : 40; } s|Button:down { color : #009900; font-size : 40; } s|Button:disabled { color : #000099; font-size : 40; } </fx:Style> <s:Button /><!-- スタイルが適用される -->

サンプルコード 07. Flex 4 の疑似セレクタ ( 兼タイプセレクタ )

図 03. 疑似セレクタのサンプル (Button の up ステート )
図 03. 疑似セレクタのサンプル (Button の up ステート )
図 05. 疑似セレクタのサンプル (Button の down ステート )
図 05. 疑似セレクタのサンプル (Button の down ステート )
図 04. 疑似セレクタのサンプル (Button の over ステート )
図 04. 疑似セレクタのサンプル (Button の over ステート )
図 06. 疑似セレクタのサンプル (Button の disabled ステート )
図 06. 疑似セレクタのサンプル (Button の disabled ステート )

セレクタのパターン

Flex 4 で使用できる CSS セレクタのパターンは、前述で紹介したセレクタを併用することにより、以下のようなスタイル定義を実現できます。

/* タイプセレクタ */ s|Button { color:#009900; } /* 一般的な id セレクタ */ #button001 { color:#999933; } /* 一般的な id セレクタ兼疑似セレクタ */ #button001:up { color:#999933; } /* 一般的なクラスセレクタ */ .special { color:#990000; } /* 一般的なクラスセレクタ兼疑似セレクタ */ .special:up { color:#990000; } /* 一般的な疑似セレクタ */ :up { color:#993300; } /* タイプセレクタ兼 id セレクタ */ s|Button#button001 { color:#000099; } /* タイプセレクタ兼 id セレクタ兼疑似セレクタ */ s|Button#button001:up { color:#000099; } /* タイプセレクタ兼クラスセレクタ */ s|Button.special { color:#990000; } /* タイプセレクタ兼クラスセレクタ兼疑似セレクタ */ s|Button.special:up { color:#990000; } /* タイプセレクタ兼疑似セレクタ */ s|Button:up { color:#999900; } /* 子孫セレクタ */ s|Panel s|Button { color:#990000; } /* 子孫セレクタ兼 id セレクタ */ s|Panel s|Button#button001 { color:#990000; } /* 子孫セレクタ兼 id セレクタ兼疑似セレクタ */ s|Panel s|Button#button001:up { color:#990000; } /* 子孫セレクタ兼クラスセレクタ */ s|Panel s|Button.special { color:#990000; } /* 子孫セレクタ兼クラスセレクタ兼疑似セレクタ */ s|Panel s|Button.special:up { color:#990000; } /* 子孫セレクタ兼疑似セレクタ */ s|Panel s|Button:up { color:#990000; }

サンプルコード 08. Flex 4 で使用できるセレクタのパターン

おわりに

以上が Flex 4 から新しく採用された CSS でした。
Flex 3 以前は 2 種類しかなかったセレクタが、大幅にバージョンアップして細かくスタイル定義できるようになったことに気付いていただけたかと思います。

これらのチュートリアル、サンプルコードを試すことによって、Flex 4 アプリケーションの表現の幅をより広げることができるでしょう。

製品

  • Creative Suiteファミリー
  • Photoshopファミリー
  • Acrobatファミリー
  • Flashプラットフォーム
  • Digital Marketing Suite
  • Digital Enterprise Suite
  • Digital Publishing Suite
  • モバイルアプリ

ソリューション

  • カスタマーエクスペリエンスマネジメント
  • コンテンツオーサリング
  • デジタルマーケティング

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミック版のご購入
  • ライセンスのご購入

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • España
  • France
  • Deutschland
  • Hrvatska
  • Ireland
  • Israel - English
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Magyarország
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Österreich - Deutsch
  • Polska
  • Portugal
  • România
  • Россия
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Slovenija
  • Slovensko
  • Srbija
  • Suomi
  • Sverige
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Pacific - English
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

当Webサイトをご利用のお客様は、利用条件およびプライバシーポリシー(2011年9月30日更新)にご同意いただいたものとみなされます。

Reviewed by TRUSTe: site privacy statement