スタイルシート(CSS)についての質問です。


@mediaの中に@importを書くと文法違反なのでしょうか。

もし違反ならInternet Explorer 6でも対応している別の方法を教えてください。
(読み込み専用CSSから別ファイルのCSSをメディアタイプごとに呼び出せるように)

回答の条件
  • 1人3回まで
  • 登録:2006/07/28 11:07:32
  • 終了:2006/07/28 11:48:35

ベストアンサー

id:wizemperor No.3

wizemperor回答回数379ベストアンサー獲得回数522006/07/28 11:31:02

ポイント35pt

@import規則は、下記のようにメディアタイプを , で区切って指定することができます(参考URL: http://hp.vector.co.jp/authors/VA022006/css/cascade.html#at-impo...)。

@import url("style.css") screen, tv;

ただ、IEはメディアタイプを指定するとCSSファイル自体が読み込まれないようです。

link要素でメディアタイプを指定してCSSファイルを読み込み、その中で別のCSSファイルを読み込むのが無難じゃないでしょうか…。

<link rel="stylesheet" href="style.css" type="text/css" media="screen, tv" />

id:yokohamaken

回答ありがとうございます。

やはり無理みたいですね。

新しいメディアタイプが出たときにはすべてのHTMLを書き換えなければいけないのは本当に面倒くさい。

プログラム(CMSとか)を通して管理しないとだめか・・・。

ここで回答を締め切らせてもらいます。

皆さんありがとうございました。

2006/07/28 11:45:50

その他の回答(2件)

id:komorebi No.1

komorebi回答回数133ベストアンサー獲得回数82006/07/28 11:26:12

ポイント35pt

@madiaブロック内で@importルールは入れられません。

別CSSファイルを読み込む+メディア属性を対応させるのであれば、

以下のような記述になります。

” @import url(styles.css) all; ”

ただし、この記述方法は、IE系のブラウザのほ他、Operaや、Sfariの一部で対応してません。

メディア属性は、(X)HTML側で調整するのがぶなんでしょう。

id:yokohamaken

回答ありがとうございます。

やはりそうですか。@importで対応していれば読み込むCSSを一本化できるのに。でもFirefoxでは大丈夫でしたよね?

2006/07/28 11:35:48
id:cgo01 No.2

cgo01回答回数16ベストアンサー獲得回数12006/07/28 11:26:47

ポイント10pt

文法的には 違反ではないと思いますよ。


http://www.w3.org/TR/CSS21/syndata.html


の 4.1.5 At-rules を参照してください。

import の行で media を指定することもできるようです。


実際に 思ったとおりに表示されるかどうかは

実装依存なので、検証が必要だと思います。

id:yokohamaken

回答ありがとうございます。

しかし、残念ながら妥当ではないとされています。

詳しくはhttp://www.y-adagio.com/public/standards/tr_css2/syndata.htm...をご覧ください。

2006/07/28 11:41:02
id:wizemperor No.3

wizemperor回答回数379ベストアンサー獲得回数522006/07/28 11:31:02ここでベストアンサー

ポイント35pt

@import規則は、下記のようにメディアタイプを , で区切って指定することができます(参考URL: http://hp.vector.co.jp/authors/VA022006/css/cascade.html#at-impo...)。

@import url("style.css") screen, tv;

ただ、IEはメディアタイプを指定するとCSSファイル自体が読み込まれないようです。

link要素でメディアタイプを指定してCSSファイルを読み込み、その中で別のCSSファイルを読み込むのが無難じゃないでしょうか…。

<link rel="stylesheet" href="style.css" type="text/css" media="screen, tv" />

id:yokohamaken

回答ありがとうございます。

やはり無理みたいですね。

新しいメディアタイプが出たときにはすべてのHTMLを書き換えなければいけないのは本当に面倒くさい。

プログラム(CMSとか)を通して管理しないとだめか・・・。

ここで回答を締め切らせてもらいます。

皆さんありがとうございました。

2006/07/28 11:45:50
  • id:cgo01
    失礼しました。
    なるほど、"妥当ではない。" となっていますね。

    "is invalid" を "無効だ" と解釈していたので、
    「文法的には 問題ないが、ユーザエージェントには
     無視される」
    と思っていました。

    cgi で必要に応じて @madia を吐くことで
    故意に入れ子にして 無効になるような ロジックを
    組んだりしてたんですが、、、

    この質問は 私にとっても勉強になりました。
    ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません