• ベストアンサー

cssの今、一番旬なブラウザごとに違うcssをかける方法

goulanの回答

  • goulan
  • ベストアンサー率46% (23/50)
回答No.4

同じく何がベストか・・・は、状況によりますが。 簡便なのは No.1さんの回答でしょうね。 何がハックか、の定義は決まっていなくて、使って良い悪いは、個人の判断によるところが大きいと思います。ハックはブラウザの"バグ"を利用して何かをする・させる辺りから名付けられたのでしょうね、多分。 ハック技と言われるものは、使い始めるとcssが膨大になりがちです。私などは、どうしてもハック技の類いじゃないと解決しない場合は使いますが、極力簡単に書いて行くようにしています。後々のメンテナンスを考えると、シンプルなほうが楽だからですけども。 No.1さんの例、 Condirional Commentsは、"未満"ですので、IE5,IE5.5も含みます。それと、Mac IE5は対応してない(らしい)。まあ、IE6を問題になさってらっしゃるので、MacIEは関係ないですか・・・。 Conditional Comments または 条件付コメント で検索なさると、たくさんhitするはずです。詳しい検証サイトもありますので、お確かめ下さい。 2.の別cssを読み込ませる場合、php,javascriptなどで判別し、それぞれに見合うcssを用意することになります。ただ、種別を欺くUAも存在するので、100% 確実とは言い切れません。 他に、セレクタを使う方法があります。 IE6以前のブラウザに適用する指定を先に書いて、次にセレクタを利用します。セレクタを利用する目的は、モダンブラウザに本来の表示をさせるところにあります。 例えば、 body{ /* IE6以前 のブラウザに適用 */ } html > body{ /* モダンブラウザに適用 */ } モダンブラウザは後から書かれた指定、上書きされる方を適用します。IEに限らず、です。指定がダブルになるため、分岐の必要な指定が膨大な場合、cssの見通しがちょっと悪くなるかも知れません。

関連するQ&A

  • CSSハックについて・・・

    ホームページを作っていて、IEではちゃんと表示されるのですが、 FirefoxとOperaでは思い通りに表示されません。 これをどうにかしたいと思います。 前に、どこかのサイトでCSSハックという言葉を見たことがあるのですが、主にFirefoxに、CSSハックを利用したいです。 Firefoxのみ、またはFirefoxを含む様々なCSSハックの方法を教えてください! 今は、OperaよりもFirefoxを優先してほしいです。

    • ベストアンサー
    • HTML
  • CSSハックの使い方を教えてください

    CSSでサイトを作っているのですが、フッターとメインのwrapperの間を開けるのに、どうしてもすべてのブラウザで共通のCSSではできません・・・かなり格闘したのですが・・・ そこで、この際CSSハックを使おうと思っています。 といっても、よくわかってないのですが、CSSハックを使えば、IE6にはこの指定、IE7にはこの指定、Firefoxにはこの指定、opera、safari・・・ など個別のブラウザに異なったCSSを指定することができるのでしょうか? 実際の記述方法を教えていただけないでしょうか? 「firefoxとopera」にはwrpperにmargin-bottomをかけて、IE6,7にはfooterにmargin-topをかけて解決しようと思うのですが・・・ ちなみに、この現象のほかの解決方法ってあるのでしょうか? #wrapper{ position:relative; width:870px; margin:0px auto; text-align:left; } #foot{ position:relative; width:100%; height:auto; clear:both; }

    • ベストアンサー
    • HTML
  • CSSレイアウト=firefox3.0とfirefox3.5のブラウザ

    CSSレイアウト=firefox3.0とfirefox3.5のブラウザ表現の違いについて教えてください。 firefox(以下。FF)3.0と、3.5ブラウザの見え方の違いが発生してしまいました。 FF3.5基準だと、IE(6.0。7.0。8.0)でも問題なくみえますが、 なぜかFF3.0だけ CSSレイアウトが 崩れています。 基本 FFは準拠しているものとして 3.5基準で作っていましたが、 仇となってしまいました。(私の勉強不足ってのもありましたが) これは ハック等で問題は解決できるのでしょうか? それとも、margin等の規格がIEバグのように 違うものになっているのでしょうか? ご回答よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • 全てのブラウザで崩れないCSS

    XHTML+CSSでウェブサイトを構築している者です。  サイトがある程度出来上がってきて各ブラウザでチェックをしていたのですが、検索エンジンのキャッシュで崩れていた事に気づきました。  崩れた原因を調べ、なんとか対応したのですが、FirefoxのGoogleキャッシュは崩れずIE7のGoogleキャッシュでは崩れています。  そこで、ブラウザ、OS、検索エンジンキャッシュで見ても崩れない(ブラウザごとの多少の違いはあると思いますが)CSSの決まりがあれば知りたいと思いました。  無料ブログサービス(アメーバ等)のデフォルトテンプレートはどんな環境でみても崩れないと聞いたことがありますが、可能なのでしょうか…  ■作成したサイトをチェック→ブラウザ XHTML 標準モード+CSSハック使用 ・Win Firefox 2 3 ○ ・Win IE 6 7 ○ ・Win IE 5以下 CSS無効 ・Mac IE 5 CSS無効 ・Win Opera 9 ○ ・Win Safari 3 4 ○ ■作成したサイトをチェック→キャッシュページ 後方互換モード ・FireFox3でGoogleキャッシュを見たとき→○ ・IE7でGoogleキャッシュを見たとき→崩れる  原因はIE7の後方互換モードに対応できていないことだと思います。  IE7後方互換モードに強いサイト等を紹介してもらえたら嬉しいです。 よろしくお願いします!

  • CSSでブラウザ毎のフォントサイズを統一するには

    IEとFireFoxなど、ブラウザによりフォントの初期サイズが違います。 IEのMideumがFireFoxではSmallに該当するようです。 pxなどの絶対サイズを利用せず、相対サイズで初期サイズをMidiumに統一対応したいと考えています。 何か良いcssハック方法はありませんでしょうか。

    • ベストアンサー
    • HTML
  • Operaでの表示がおかしい(CSSハック)

    あるサイトをWebデザインしているのですが、F5キーを押せばOperaでの表示がおかしくなります。 色々CSSファイルとかを自分なりに見て解決法を試行錯誤したのですが、自力では限界になって投稿させて頂きました。 ■ 問題の内容 ・ 表示がおかしいブラウザはOperaに特定される。 ・ 環境はHTML5・CSS(外部ファイル)・JQuery(外部ファイル) ・ Operaで最初に表示させた時はローカル・Webとも通常表示されるが、そのサイトをF5(更新)キーで押した時、サーバーアップ時のみレイアウトが崩れる(ローカル(Windows)上の同ファイルをOperaで開いた時及びF5キーを押した場合は、両方とも表示崩れが起きない)。 ・ レイアウト崩れは特定の部分のみ。 ・ お客様のサイト、自社でテストでアップしたサイトの両方のサーバー(別会社)とも全く同じ現象が起きる。 ・ 通常表示時に別サイトに行き、リンクや戻るボタンで戻った時は、上記崩れは起きていない。 ・ Opera以外のブラウザ(試しているのはOperaのほか、IE・Firefox・Chome・Safari)では上記現象は一切発生しない。 通常のOperaのCSSハックをすれば解決するっていう感じでは無さそうですし。 解決策は何かありませんでしょうか。 よろしくお願いいたします。

  • IEだけ外部CSSを読み込まない

    こんばんは。 レスポンシブサイトを製作中なのですがIEだけが外部CSSを読み込みません。 Chrome、Firefox、Opera、Safariなどのモダンブラウザは異常なく読み込みます。 IEに限ってどのバージョン(少なくとも8~11)もCSSを読み込まずHTMLだけのレイアウトです。 考えられる原因は何だと思われますでしょうか? モノをあげられないので推測での話になると思うのですが、よろしくお願い致します。

    • 締切済み
    • CSS
  • ブラウザによってcssを分けることは可能なの?

    レスポンシブウェブデザインの様に ブラウザによってcssを分けることは可能なのでしょうか? IEなら100px、ファイアフォックスなら50pxなど。

    • ベストアンサー
    • CSS
  • 外部CSSの読み込みがうまくできない

    <head>~ <link href="basic.css" rel="stylesheet" type="text/css"> ~</head> ↓basic.css body{font-size:80%;color:#4a4a4a;} a:link{color:#004a95;text-decoration:none;} a:visited{color:#950095;text-decoration:none;} a:hover{color:#ff80c0;text-decoration:none;} という感じで外部CSSを読み込んでいるのですが、 ブラウザのoperaやfirefoxだとbody{font-size:80%;color:#4a4a4a;}の所だけ反映されません。 IEだとその部分も反映されます。 cssファイルに修正箇所があるのでしょうか? それとも外部cssを読み込むhtmlファイルの方に追加して記述しなければいけないタグがあるのでしょうか?

    • ベストアンサー
    • CSS
  • FirefoxとOperaがCSSを勝手に補完

    <input type=text style=width:0> このようなinput要素にwidth:0というstyleを付加した小さなドキュメントを用意し、 Firefox(5)やOpera(11.50)で見ると、勝手にwidthを1pxに書き換えられます。 IE9,Safari(5.1),Iron(11)では同様の現象は確認できませんでした。 しかし、仕様の犬であるFirefoxやOperaがやることが間違っているとは思えないのです。 訳のわからないハックを使った解決は望んではいません。 FirefoxやOperaが正しいとわかるソース、あるいはIE9やWebkit系ブラウザが正しいとわかるソースをください。 ご存じの方おられましたら、よろしくお願いします。

    • ベストアンサー
    • HTML