1

私のサイトでは、IE7をサポートする必要があります。今では、IE7でのスタイリングは簡単な作業ではないことを誰もが知っています。人々はHTMLの条件文を使用して、IEの特定のバージョンの特定のスタイルシートをロードします。しかし、私の場合、WebCenter Portalアプリケーションを使用しているため、このような条件文を使用することはできません。ここではスキンを使用する必要があります。CSSファイルでもあります。

したがって、IE7の特定のcss属性の値を指定できる式が存在するかどうかを知りたいと思います。

私がクラスを持っているとしましょう:

.filterbox{
    padding:12px 0;
    margin:12px 0
}

現在、このマージンはIE7を除くすべてのブラウザーで問題ありません(IE <7ではテストしていません)。IE7で使用するmargin:0;と、スタイルは完璧になりますが、他のブラウザーでは機能しなくなります。

IE7と非IE7の両方で同じcssクラスでこのマージンを指定するにはどうすればよいですか?

よろしく。

4

2 に答える 2

1

条件付きコメントを本当に使用できない場合にのみ、このハックを使用してください。これらは、IEの問題を解決するための最良のソリューションです。このようなハックはCSSをすぐに台無しにし、無効にします。

だから、これがIE7をターゲットにしたハックです(もちろんこれはあなたの通常の定義の後に来ます):

html>body #filterbox {
*margin: 0;
}

CSSハックから–思考後のIE7をターゲットにする

于 2012-05-08T09:01:28.783 に答える
0

IE7と他のブラウザのスタイルシートを分離すると、問題を解決できます。

/* other browsers */
.filterbox{
padding:12px 0;
margin:12px 0
}
/* IE 7 */
*:first-child+html .filterbox
{
 padding:12px 0;
 margin:0;
}

注意!ブラウザが最初の定義を上書きするため、最後にIe7のスタイルを定義する必要があります。他の人は最後のものを無視します。

于 2012-05-08T09:01:14.010 に答える