0

親>子セレクターを使用して要素を対象とするCSSをいくつか作成しました。特にテーブル用なので、このようにヘッダーとフッターに特定のスタイルを適用できます

table > thead > tr > th ...
table > tbody > tr > td ...
//there are other uses in the css as well

IE6を除いて、これはうまく機能します。IE6 をサポートするためにこの css をアンファクタリングする最善の方法は何ですか?

4

4 に答える 4

5

E > F を選択したい場合は、

E F {
    set-some-style: value;
}

E * F {
    unset-some-style: 0;
}

ただ、 > セレクターがたくさんある場合はうまくいきません。

詳細: http://www.sitepoint.com/blogs/2005/06/20/erics-universal-child-selector/

于 2008-12-16T21:37:35.233 に答える
3

通常、「>」を削除するだけで機能します。それは、CSS と HTML がどのように記述されているかの問題です。私はそれを試してみます。

于 2008-12-16T21:31:29.270 に答える
1

>IE6 はセレクターをサポートしていません。

場合によっては、代わりにスペース セレクターに置き換えて、ほぼ同じ結果を得ることができますが、これが常に機能するとは限りません。が必要な場合もあります>

私の最初のアドバイスは、IE6 のサポートをやめることです。過去数年間で残りの市場シェアを事実上すべて失ったため、サポートする必要はまったくありません。

IE6 をサポートする必要があり、セレクターを使用したい場合>、唯一のオプションは Javascript ハックです。

あなたを助けるかもしれない2つのハックがあります:

  • Dean Edwards の IE7.js - これは Javascript を使用して、できるだけ多くの CSS および JS 機能を IE の古いバージョン (IE6 を含む) に移植しようとする試みです。それはかなり良い仕事をしており、何年も前から存在しています。

  • Selectivizr - 古いバージョンの IE で最新の CSS セレクターを完全にサポートすることを目的とした JS ライブラリです。jQuery などの別のライブラリも使用する必要があります。これは、そのライブラリからセレクター エンジンにフックするためです。これは、サポートされているライブラリのいずれかを既に使用している場合、コードへの小さくて効率的な追加であることを意味します。

于 2011-10-04T08:27:31.900 に答える
0

JavaScript を使用してそれらをターゲットにすることもできますが、CSS によって行われるべき何かのために javaScript が必要になるため、それは実際の解決策とは言えません。HTML を変更して特定のクラスを持つこともできますが、それは HTML を変更することを意味します。「良い」解決策があるとは本当に思いません。これを処理しなければならないのが私である場合、または HTML または HTML 作成スクリプト使用クラスにアクセスできる場合は、おそらく JavaScript を使用してすべてをハックするでしょう。それらの特定の子供たち。

于 2008-12-16T21:30:03.173 に答える