スタイルシート
「 スタイルシート 」( style sheet ) とは、文書構造とスタイル ( 表現方法 ) を分離して記述する場合に、スタイルの記述を行うファイル ( またはそのコード ) のことです。
スタイルシートを使った表現の分離は、「 XML 」や「 SGML 」等「 HTML 」を含むマークアップ言語だけでなく、オフィスソフトでも広く利用されていると言います。
オフィスソフトの方が古くからスタイルシートを利用していた様ですが、現在では、一般的に「 スタイルシート 」と言った場合、それは、HTML で利用される「 カスケーディングスタイルシート 」( CSS ) を意味することが多い様です。
通常「 HTML 」では、様々な表現方法を要素の属性として記述出来るため、スタイルシートの利用は必須ではありません。
しかしながら、スタイルシートを利用することで、任意のスタイルを適宜使いまわすことが容易になる等、次の様な利点があると言われます。
+ 性能
+ 保守性
+ アクセス容易性
+ カスタマイズ
+ 一貫性
+ 移植性
Cascading Style Sheets - Wikipedia
カスケーディング スタイルシート ( CSS )
「 カスケーディング 」( cascading ) は「 カスケード 」( cascade ) の現在分詞形で、「 cascade 」は「 滝 」特に「 階段状に連続する滝 」を意味するそうです。
HTML の「 カスケーディングスタイルシート 」( cascading style sheet ) は、スタイルシートの概念を具体的に実装した仕様のひとつで、複数のスタイルシートを設定することが出来ますが、仮に同じ設定が衝突した場合は、後から読み込まれた方が優先されるます。
最初のスタイルを読み込んで、次を読み込んで、次を読み込んで、というその動作 ( アルゴリズム ) が「 cascade 」 ( 階段状の連続する滝 ) の名前の由来と言われます。
CGI.pm で CSS を指定する
Perl の CGI.pm では、CSS をメソッド「 start_html() 」(
0xd4) のパラメータ「 -style 」で指定します。
"
カスケーディングスタイルシートの限定サポート" - perldoc.jp によれば、パラメータ「 -style 」では、 (
0xd9) で確認したパラメータ「 -script 」の様に、ハッシュリファレンスで「 -src 」および「 -code 」を複数指定出来ると言います。
「 -code 」には、HTML 要素「 style 」内に記述したスタイルの定義を含む「 スカラ値 」を指定し、「 -style 」および「 -src 」には、スタイルシートのソース URL を指定するとのことです。
-src と -code の優先度と -type
「 -code 」と「 -src 」の間で同じ名前の定義があった場合は、「 -src 」が優先されます。これはおそらく「 -src 」の方が後から読み込まれるからだと思われます。
また、これも (
0xd9) と同じく、パラメータ「 -style 」に指定するハッシュリファレンスの中では「 -type 」を利用することも出来ます。
「 -type 」では、スタイルシートの種類を指定します。「 -type 」を利用しない場合はデフォルトで「 text/css 」が設定されます。
0x14c -> 0x14d へ
今回からは、しばらくの間「 CSS 」の確認を続けます。
参考情報は書籍「 初めての Perl 第 6 版 」を中心に perldoc, Wikipedia および各 Web サイト。それと詳しい先輩。
目次 - Perl Index