ページへ戻る

− Links

 印刷 

スタイルシートについて のバックアップソース(No.8) :: XOOPS マニア

xpwiki:スタイルシートについて のバックアップソース(No.8)

« Prev[5]  Next »[6]
* スタイルシートについて [#ua97f3ce]
このページは、Ver 3.21 以降の xpWiki について書かれています。Ver 3.20.1 以前については「[[スタイルシートについて/Ver 3.20.1以前]]」のページをご覧ください。

#contents

** 必ず読み込まれる CSS (main.css) [#c2c74035]

xpWiki では、デフォルトの表示状態(defaultスキン)でのCSSをXOOPS_TRUST_PATH 側に持っています。ただ、CSSを独自にカスタマイズした場合に、バージョンアップするとカスタマイズした分が元に戻ってしまいます。

それでは具合が悪いので、スタイルシート(CSS)のオーバーライト(上書き)を取り入れています。

xpWikiが読み込むCSSの実体は、&br;
XOOPS_TRUST_PATH/modules/xpwiki/skin/css&br;
ディレクトリにあります。

ページを表示する場合に必ず読み込まれる CSS は main.css (media="all") と main_print.css (media="print") です。

この main.css を上書きするためには、&br;
XOOPS_ROOT_PATH(html側)/modules/[インストールディレクトリ]/skin/css ディレクトリに、main.css というファイル名でアップロードします。

さらに、スキンにより上書きすることができます。そのためには、&br;
XOOPS_ROOT_PATH(html側)/modules/[インストールディレクトリ]/skin/[スキン名] ディレクトリに、main.css というファイル名でアップロードします。

まとめると、デフォルトのスキン「default」における main.css の読み込み順は次のようになります。

+ XOOPS_TRUST_PATH/modules/xpwiki/skin/css/main.css
+ XOOPS_ROOT_PATH/modules/[インストールディレクトリ]/skin/css/main.css
+ XOOPS_ROOT_PATH/modules/[インストールディレクトリ]/skin/default/main.css

次に、例えば<h>タグの色を #9acd32(yellowgreen) に変えたい場合について説明します。
次の内容の main.css を スキンに関わらず適用したい場合は、&br;
"XOOPS_ROOT_PATH/modules/[インストールディレクトリ]/skin/css/"&br;
にアップロードし、default スキンにのみ適用したい場合は、&br;
"XOOPS_ROOT_PATH/modules/[インストールディレクトリ]/skin/default/"&br;
にアップロードします。

#code(php){{
$class h1,
$class h2 {
	background-color:#9ACD32;
}
$class h3 {
	border-bottom:  3px solid #9ACD32;
	border-top:     1px solid #9ACD32;
	border-left:   10px solid #9ACD32;
	border-right:   5px solid #9ACD32;
}
$class h4 {
	border-left:   18px solid #9ACD32;
}
}}

$class は、モジュールディレクトリ名にあわせたクラスセレクタ文字列に置換されます。(モジュールディレクトリ名が xpwiki ならば、"div.xpwiki_xpwiki")

ちなみに、このサイトの xpWiki の カスタマイズ CSS は、http://xoops.hypweb.net/modules/xpwiki/skin/css/main.css こんな感じです。

** プラグインが使用するCSS [#i8f2a9b2]

プラグインが独自にCSSを読み込んでいる場合があります。そのCSSのオーバーライト方法について説明します。

プラグインが独自に読み込むスタイルシートも、&br;
XOOPS_TRUST_PATH/modules/xpwiki/skin/css &br;
ディレクトリにあります。基本的に プラグイン名.css となっています。

これらのCSSも main.css と同様に上書きすることができます。

** ページ毎のスタイルシート [#w72894c1]

各ページにファイル名 style.css として、CSSファイルを添付することで、特定のスタイルシートをそのページに適用することができます。

また、下層ページにもそのスタイルシートが適用(継承)されます。

このページには以下のスタイルシートが添付されています。

#code(css){{
$class div.body {
	background : url(../image/HowToCSS.gif) no-repeat fixed right 200px ;
}
}}

** ブロック表示用のスタイルシート [#k436b564]

ブロック表示される時のみ特定のCSSを適用したい場合もあると思います。

ページがブロックに表示される場合は、その内容は <div class="xpwiki_b_[ディレクトリ名]"></div> で囲まれますので、html 側の各CSSにクラス指定子をベタ書きしてブロックのみに適用することができます。

例えば、xpwiki ディレクトリにインストールされた、xpwiki のブロック表示の <h>タグの色を変えたい場合は、次のように main.css に書くことができます。

#code(css){{
div.xpwiki_b_xpwiki h1,
div.xpwiki_b_xpwiki h2 {
    background-color:#d8bfd8;
}
div.xpwiki_b_xpwiki h3 {
    border-bottom:  3px solid #d8bfd8;
    border-top:     1px solid #d8bfd8;
    border-left:   10px solid #d8bfd8;
    border-right:   5px solid #d8bfd8;
}
div.xpwiki_b_xpwiki h4 {
    border-left:   18px solid #d8bfd8;
}
}}

ただし、$class を使ったセクションより後に書くことを忘れないでください。

** CSS内での相対パスについて [#s5749543]

背景画像などに、URLを指定したい場合に相対パスを使う場合は、XOOPS_URL/modules/[DirName]/skin/loader.php が 自己CSS のパスになりますので、この位置から計算して相対パスを指定する必要があります。

« Prev[5]  Next »[6]