謎、phpでcss


FF2スタイルがおかしい件の、とりあえずの結論。
yui 2.2.2
reset-fonts-grids.css
example_ge.php
の組み合わせに、

phpとして動作するskin.cssを追加した。
css形式のファイルで、phpが動作するようにするため。
.htaccess
AddType application/x-httpd-php .php .html .css とした。

一見して、スクリプトによる背景色が適用されてうまく動作するように見えるが、
FF2で、
reset-fonts-grids.css が適用されず、うまく読み込めていないような症状が発生した。

(画像を参照してください。)

条件を変えてテストをしたが、スタイルが適用されるか適用されないか、安定して結果がでたのは、

.htaccessの .cssの記述の有無がスタイルの適用に、確実に影響しているのがわかった。

背景色など、をphpで動的に指定した skin.cssのスタイルを読み込んで、
スタティックなreset-fonts-grids.cssは読み込まないという結果になった。

reset-fonts-grids.cssの何かがそのような状況を引き起こすのか、興味はあるけれど、もうとりあえずやめた。

動的CSSは、一見動いているようなんだけど、cssphpをハンドルできるようにすると、FFでは、全然別のスタティックなcssに影響が出ることがあるのかも知れないから、要注意という話でした。

memo:
たとえば、こんな記述IE6 #aafにはならない。(phpとしては動いていない状態で、)FFは無視して、#aafが適用される。

background:#aaf;
background:#$bg;






cssphpで書いてしまえば、簡単だな。
スタイルの指定を、スクリプトで行えば、やれアスタリスクだ、アンダーバーだ。
それは、あしたリスクだ。(???)徒労の山を築かなくてすむかもしれないと思っていた。

YUIのGrid(汎用のスタイル)を使って、テンプレートを適用するのに、少し使ってみた。

使い方としてはこんな感じ。


skin.cssの一部

<?php
$rd = rand (0,255);
$r = dechex($rd);
$gd = rand (0,255);
$g = dechex($gd);
$bd = rand (0,255);
$b = dechex($bd);
$bg="$r$g$b";



$r = 255 - $rd;
$r = dechex($r);

$g = 255 - $gd;
$g = dechex($g);

$b = 255 - $bd;
$b = dechex($b);

$c="$r$g$b";
//みながら 馬鹿 とか言うときは、大きな声で!

header('Content-type: text/css');

echo<<

background:#fff url("
http://gd生成のbg等?t=3&linecolor=$bg&bgcolor=fff");
background-repeat:repeat-x;

......
background:#
......
CSS;

IE6では、問題なくコントロールできるんだけど、firefox2は、なんか、一言ありそうで困る。

たとえば、
f:id:tenman:20070627123311j:image

表示すると、末端のboxのレイアウトがうまくいかない。
で、名前を付けて保存すると、コントロールされたページになる。

わかれば簡単なことかもしれないが、
ヘッダー出力しないとそれなりに、安定しないというのもありそうだ。

こんなテーマ扱っている人いないかと思って探してみたら、php+css結構いるけど、それらしいことは、まだ見つからない。



*だけどさ、Firefox htmlのいろんな検証ツールとかソースを評価するプラグインとかあるけど、名前を付けて保存って、使ってみたら、空タグ閉じなかったりして、唖然としたよ。