人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: yokohamaken
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CSS Internet Explorer 6 スタイルシート タイプ ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● komorebi
●35ポイント

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

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

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

@import url(styles.css) all;

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

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

◎質問者からの返答

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

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


2 ● cgo01
●10ポイント

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


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


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

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


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

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

◎質問者からの返答

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

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

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


3 ● wizemperor
●35ポイント ベストアンサー

@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" />

◎質問者からの返答

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

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ