こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

一部のページにデフォルトCSSを読み込ませない方法

一部ページにCSSを読み込ませない方法がありましたら、
ご教授ください。

例えば、

全ページに以下のCSSを共通で読み込ませてあります。
<link rel="stylesheet" type="text/css" media="screen" href="css/common.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />

しかし、test.htmlだけ
<link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />
を読み込ませたくありません。

つまり、
<link rel="stylesheet" type="text/css" media="screen" href="css/common.css" />
は通常通り読み込んで、
<link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />のみを
除外したいです。

* 共通のCSSは外すことはできません。
* また、CSSを新たに追加することもできません。
* head内にスクリプトを記述することができますが、スクリプトの記述で解決できますでしょうか。

自分で検索もしてみたのですが、答えに辿りつけません。
どのような方法がありますでしょうか。
何か方法がありましたら、ご教授ください。
よろしくお願いいたします。

投稿日時 - 2013-06-19 18:50:27

QNo.8140956

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>* head内にスクリプトを記述することができますが、スクリプトの記述で解決できますでしょうか。

スクリプトでは無いですが、CSS の上書きで対処出来ます。

hesd 内で index.css の内容を全て上書きしてしまえば良いと思います。
スタイルシートは、head 内にもしくは、html 内に直接記述した内容が最優先されます。先に読み込んだ index.css の内容を上書きしてしまえば良いだけです。

投稿日時 - 2013-06-20 15:30:03

お礼

ご回答ありがとうございます。
確かにその通りなのですが、

CMSを利用してホームページをカスタマイズしているので、
全ページに共通のクラスを利用しています。

なので、通常は背景を黒に設定、
test.htmlのページのみ背景をなしに設定したいです。

background:#000;を指定したクラスが全ページで共通して使われているので、
強制的にtest.htmlにもついているイメージです。

新しくクラスを追加するも不可。
また、外部CSSの読み込みもしたくないです。
条件ばかりで申し訳ありません。


通常は下記を読み込み、
<link rel="stylesheet" type="text/css" media="screen" href="css/common.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />

test.htmlのページのときだけ、
<link rel="stylesheet" type="text/css" media="screen" href="css/common.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />

<link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />だけ

強制的に読み込まない方法を探しています。
素人のため、質問が難解で申し訳ありません。


>スタイルシートは、head 内にもしくは、html 内に直接記述した内容が最優先されます。
そうなんですね、大変勉強になりました。
ご回答いただき誠にありがとうございました。

投稿日時 - 2013-06-20 16:57:06

ANo.1

>head内にスクリプトを記述することができますが、
 javascriptを加えることができるなら、<head></head>内の
<link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />
 を消せばよいのでは??

他の方法
<body class="main">のあるものとそうでないものとかで区別してCSS側でbody.mainセレクタを起点にする。

CGIでスタイルシートを出力させる。
if($ENV{'HTTP REFERER'} =~/index\.html/){
print・・

投稿日時 - 2013-06-19 19:59:03

お礼

回答ありがとうございます。
大変助かります。

>javascriptを加えることができるなら、<head></head>内の
><link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />
>を消せばよいのでは??

こちら、わたくしの説明下手で申し訳ありません。
"* 共通のCSSは外すことはできません。"というのは、
<head></head>内のCSSを読み込んでいる部分は編集できないということです。

それを強制的に消す方法を探しています。


また、CMSを利用しているため、
bodyタグも編集できません。


CGIについては試したことがないので、
こちらについてこれから勉強してみます。

ご回答誠にありがとうございました。

投稿日時 - 2013-06-20 12:59:36

あなたにオススメの質問