JustoFitホーム JustoFitバージョン1.3.11使用説明書


ヘッダCSSとスタイル

JustoFitでは、InDesign文書内のXML構造のヘッダ部分に書かれたCSSを解釈して、その各セレクタがあてはまる箇所に、それぞれの規則を適用することができます。

これにより、同じメタ書式や相互参照書式をたくさんの要素に書かなくても、ヘッダに一度書くだけで、それをたくさんの要素へ適用させることが可能です。

またJustoFitには、各箇所に適用されているInDesignのスタイル名を、CSSのクラスとしてそこの要素に自動設定する機能があります。これにより、段落スタイルに対してメタ書式を定義したりすることが可能になっています。

ヘッダCSS

ヘッダCSSは、文書の最上位要素(デフォルト名「Root」)の子「xhtml:head」要素の子「xhtml:style」要素の中に、埋め込みCSS形式で記述します。

文法は、普通の(WebのHTMLやXHTMLで利用される)ヘッダCSSとまったく同じです。

カスケードの決まりも普通のCSSと同じです。すなわち一つの要素に対して同じプロパティが複数回現れるときは、

  1. 要素のxhtml:class属性内の宣言があれば、それが最優先されます。それがないなら、
  2. より大きい詳細度を得るセレクタの宣言が最終的に勝ち残ります。どれも同じなら、
  3. 後出のものが残ります。

※「!important」や@規則などにはまだ正しく対応していません。

スタイル名クラスと組版種別クラス

JustoFitは各要素のxhtml:class属性に、折にふれ、その組版種別クラスとスタイル名クラスを空白で区切った値を、自動的に設定しています。

組版種別クラスとは

InDesign上の組版種別に応じて以下のように決まるクラスを考え、組版種別クラスと呼びます。

スタイル名クラスとは

InDesignスタイルの名前を、そのままCSSクラスとして扱ったものを、スタイル名クラスと呼びます。

(例)

段落スタイル「header1」
→スタイル名クラスは「header1」

スタイル名クラスと組版種別クラスのはたらき

InDesignの世界では、ルールはスタイルに定義されますが、CSSの世界では、ルールはセレクタに定義されます。

InDesignでCSSを利用しようというJustoFitにおいて、両者を結びつけるのがスタイル名クラスと組版種別クラスです。

(例)

段落スタイル「header1」が適用されている段落なら

<xhtml:p xhtml:class="-un-p header1">ああああああああああああああ</xhtml:p>

ヘッダCSS内に、クラスセレクタ「.header1」の規則があれば、それはこの段落に適用されます。

しかしInDesignには段落スタイル以外にも、さまざまな種類のスタイルがあります。その中にもし段落スタイルと同名のスタイルがあったとすると、クラスセレクタ「.header1」はそちらにもマッチしてしまいます。またこれ以外にも、スタイルとは関係のないheader1クラスがもしあれば、それともかぶってしまいます。

これを避けるために、組版種別クラスを利用します。クラスセレクタが「.-un-p.header1」なら、その規則は段落スタイルheader1の段落にだけ適用されます。

また逆に、組版種別クラスだけを指定することも可能です。クラスセレクタが「.-un-p」なら、その規則はすべての段落に適用されます。



Copyright (C) 2007-2008 UNIT, Ltd. All Rights Reserved.