IE7では、スターハックは使えないと聞いたのですが、使えてしまっている気がするのですが。。。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/04/06 23:30:12
  • 終了:2007/04/07 05:16:25

回答(3件)

id:komorebi No.1

komorebi回答回数133ベストアンサー獲得回数82007/04/07 00:55:58

ポイント27pt

IE7では、

スターハック+:first-child疑似要素+隣接セレクタ

(*:first-child+html ~ {...})

ならば、IE7のみのハックとして使えますが、

それ以外はIE6以下だけのハックになります。

ただし、いずれも文法としてはNGですが・・・

【特集】正式版完全対応! Internet Explorer 7 CSS攻略法 (15) 04-01 CSSハック一覧 | クリエイティブ | マイコミジャーナル

http://journal.mycom.co.jp/special/2007/ie7/014.html

id:wizemperor No.2

wizemperor回答回数379ベストアンサー獲得回数522007/04/07 01:04:22

ポイント27pt

IE7ではスターハックは使えません。

ただし、IE6互換モードではスターハックが有効になるようです。

・DOCTYPE宣言なし

・DOCTYPE宣言が

の場合に、IE7で互換モードになります。

http://q.hatena.ne.jp/

id:wizemperor No.3

wizemperor回答回数379ベストアンサー獲得回数522007/04/07 01:13:04

ポイント26pt

すみません、この回答にポイントはいりません。

・DOCTYPE宣言なし

・DOCTYPE宣言が<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

の場合に、IE7で互換モードになります。


ちなみに、

*:first-child+html ~ {

}

という書き方は、XHTMLに対するCSSとしては不適切だとは思いますが、CSSとしては文法違反ではありません。


http://q.hatena.ne.jp/

id:makocan

すみません。ハックに関しては不慣れなため、お教えいただけますか?

どうしても、使えてしまいます。

CSSで下のものを書き、宣言はです。

html*p{

padding : 5px;

width : 300px;

border : solid 1px #cccccc;

}

2007/04/07 01:22:29
  • id:wizemperor
    「html*p」という書式は試したことがないのでわかりませんが、この記述方法はCSSの文法的に正しくありません。

    ですので、同じスターハックであっても、IE6以下(Mac含む)に適用させたい場合は、

    * html p{
    padding : 5px;
    width : 300px;
    border : solid 1px #cccccc;
    }

    IE7のみに適用させたい場合は、

    *:first-child+html p{
    padding : 5px;
    width : 300px;
    border : solid 1px #cccccc;
    }

    と書いたほうが良いのではないかと思います。

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

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

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

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