• ベストアンサー

PHPでHTML文を外部読み込みする場合

HTML+CSSを記述したPHPファイル(a.php)に、HTMLを記述したHTMLファイル(b.html)をincludeしたいと考えています。 a.phpに読み込まれるb.html部分にはa.phpで定義したスタイルを適用したく無いのですが、こういう条件を満たすにはどのような方法があるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • altrn
  • ベストアンサー率62% (10/16)
回答No.1

PHPかどうかなどはあまり関係ありません。 includeされて表示した場合でも、 出力された時点では 「ふたつのファイルにわけた」 のと 「ひとつのファイルにまとめた」 のとでは、結果は同一です。 スタイルを適用したくないのなら、 たとえば、 HTMLを <div id="a"> ひとつめの領域 </div> <div id="b"> ふたつめの領域 </div> として、CSSでは ---------------------------------------- #a p{ } #a a{ } #a #xxxx{ } #a .yyyy{ } #b p{ } #b a{ } #b #xxxx{ } #b .yyyy{ } ---------------------------------------- などと、先頭に「#a」「#b」としてスタイルを適用する範囲を設定すれば、 #aと#bに適用するCSSを分けることができると思います。 PHPの問題というよりはCSSの問題ということでしょうか。 あるいは、苦肉の策としては、 スタイルを適用したくない部分をフレーム内に読み込むことで も可能かもしれません。(フレーム内はフレーム外のスタイルが適用されないので。)

jtam
質問者

お礼

お返事大変遅くなって申し訳御座いません。 熱を出して寝込んでおりました。 ご丁寧に例まで挙げて頂きありがとう御座います。 早速試してみたところ、上手く行きました。 また何かありましたらよろしくお願いします。

その他の回答 (1)

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

>> a.phpに読み込まれるb.html部分にはa.phpで定義したスタイルを適用 >> したく無いのですが、こういう条件を満たすにはどのような方法があるでしょうか? 案1.スタイルは後優先ですので、 a.phpを優先したいのならb.htmlを先に読み込んで、後方にa.phpのスタイルを入れる。 案2.b.htmlをincludeではなくa.php内の変数に読み込んで、重複するスタイルを削除または名称を変更する。

jtam
質問者

お礼

お礼が遅くなって申し訳ありません。 お返事ありがとうございます。大変参考になりました。 また何かありましたらよろしくお願いします。

関連するQ&A