DreamweaverでHTMLを編集中、あるページだけどうしてもCSSが読み込まれないというか、
適用されていないというか、(スタイルが定義されていません)とCSSスタイルパネルに
表示されるわけです。

なんでだろー。ブラウザで確認するとちゃんとCSS適用されて表示されるから、
パスの間違いではないはずだし、他のページは同じCSSでちゃんと表示されてるし・・・
ってな感じでごにょごにょいじってたわけです。


わかりました。原因が。


このサイトはSmartyDreamweaverを組み合わせてます。

で、Javascriptをページ内に書く場合、そのまま書くとSmartyの文法エラーになるんで、
{literal} 〜 {/literal}
で挟みます。
{literal}〜ってのは、その間の文字列はそのまま出力するというSmartyの命令です。

サンプルを書くとしたのような感じでした。

<html>
<head>
{literal}
<script language="JavaScript"><!-- 
function check() { alert("テストです"); } // -->
</script> 
{/literal}
</head>
<body>
<a href="#" onclick="check();">
</body>
</html>

この{literal}が悪さをしてたようで、ページ内(特にhead内?)にあると、
DreamweaverCSSを読み込んでくれないようです。

ってことで、

  • javascriptは別ファイルにする
  • {literal}を無視させる

って対応策があると思われます。

{literal}を無視させるために、HTMLコメントにしてやります。

<!-- {literal} -->
<script language="JavaScript"><!-- 
function check() { alert("テストです"); } // -->
</script> 
<!-- {/literal} -->

でHTMLコメントにすると、Dreamweaverは無視してくれるし、

Smartyでも{literal}文として扱ってくれました。



ちゃんちゃん。