WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:複数の外部スタイルシートを…

0:[投稿] バボ [2006/01/23 19:47 ] [環境:IE6,WIN98 ??]

複数の外部スタイルシート(base/text.css)があり、htmlの間に
古いブラウザ対策用などのcss(ie4/macie.css)を挟んでいます。
この"対策用css"を全てのhtmlで使用したいのですが、複数のhtmlに、どのようにすれば他のcssに影響を受けずに出来るので
しょうか?

□(index.html) |  □(ab.html)
↑           |  ↑
■(ie4.css)→→→→
↑           |  ↑
■(macie.css)→→→
↑           |  ↑
■(base.css)   |  ■(base.css)
■(text.css)   |  ■(abcd.css)

私が考えられるのは、対策用cssの名前を変えてhtmlごとに
作っていく事です。
しかし、これだと明かに非効率でhtmlの数だけ増える事に
なってしまいます…。


1:[お知らせ] バボ [2006/01/23 19:49 ]

右側の矢印がずれていますが、ab.htmlを指しています。


2:[回答] xhtml? [2006/01/23 21:09 ]

質問内容が あまり理解できていませんが、
cssハックで"ぐぐって"みてはどうでしょうか?
>これは私が利用している例ですけど
@charset"Shift_Jis";

/*/////////////////////////////////////////
    cssファイルのインポート
/////////////////////////////////////////*/

    @import"./base.css";
    @import"./container.css";
    @media tty{
    i{content:"\";/*" "*/}}@import url
    ('i5_hack.css);/*";}
    }/* */
3番目の@mediaがIE5x対策をほどこしたCSSファイルです。
このように、私の場合は 過去互換モード対策やUA対策を施したCSSファイルを CSSハックを利用して読み込ませています。


3:[質問] バボ [2006/01/23 22:40 ]

>xhtm?さん
質問が分かりにくくてすみません。
別の言い方を考えていたのですが…

□(index.html)

■(ie4.css)

■(macie.css)

■(base.css)
■(text.css)

この場合、問題なくindex.html〜base/text.cssまで
読み込めますが別のhtmlからie4/macie.cssを通って
base/他のcssまで辿り着く方法がを知りたいのです。

text.cssと他の.cssは違う指定にしているので
一緒には出来ません。


4:[回答] あ [2006/01/25 10:53 ]

>base/他のcssまで辿り着く方法がを知りたいのです。

いまいち私も意味が分からないのですが、
@importでだめですか?
NNだったかで古いブラウザでは@import未対応ってことで、逆にそれを利用したりとか。

UAで使い分けたいのなら、UA判別で読み込むようにすればいいかと。
JSかSSIでできますし。
↑が目的に一致しない(質問ないようにあってない)のならスルーしてください。


5:[回答] バボ [2006/01/25 17:38 ]

>あ さん
度々分かりにくい質問ですみません。
折角教えて頂いておりますが、UAの意味が分かりません…。

@importは上記のie4/macie.cssで使用しております。
そのmacie.cssの中に、htmlに使用するcssを入れています。
ですが、macie.cssに全てのcssを入れてしまうと各cssの中身が
違う内容ですので、ゴチャゴチャになりますよね?
その為、どうやったらie4/macie.cssを通る事が出来るのかという
事なんですが。


■index.html-----------------------------------
<link rel="stylesheet" type="text/css" href="ie4.css" media="screen,print" />
-----------------------------------------------------

■ie4.css--------------------------------------------
@charset"Shift_JIS";
@import "macie.css";
-----------------------------------------------------

■macie.css------------------------------------------
base.css
text.css
a.css
-----------------------------------------------------
macie.cssの中にある、text/a.cssがいっしょに出来ない時に
どうすればいいのか知りたいのです。
ie4/macie.cssと同じ内容のcssを別名で作るしかないのでしょうか?


6:[回答] あ [2006/01/26 04:03 ]

UA=USER_AGENTの略。すいません。
CSSファイルのネーミングがブラウザでCSSの使い分けをしてると想像したので>>4を書きました。

>ie4/macie.cssと同じ内容のcssを別名で作るしかないのでしょうか?
それで解決するのでしたらそれが無難でしょう。

―駄文―
 外部CSSはスタイルの共有・共通目的の場合に使い、@importはスタイル補足などが目的かなぁと私は思うのですが、それで「ごちゃごちゃになる」というのであれば、CSSの書き方や構成に原因があると想像します。
ただUAの対策が必要な場合は、>>4のような手法を用いるんではないかな。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]