0

私は持っています

<table id="exclude1"><tr><td id="exclude2" height="100%" width="100%">

    <div>123</div><table>......</table> etc

</td></tr></table>

およびCSSスタイル

<style>
#exclude1, #exclude2 {border:0; background:transparent; width:100%; height:100%; margin:auto; padding:0; float:none; position:relative;}
* {border:1px solid red; background:red; width:100px; etc.....}
</style>

問題は、「*」セレクターに「display:block」または「display:inline」をcssに設定すると、このスタイルは除外されたセレクターにも適用されることです。「display:block」、「table」、「table-cell」などを「exclude」セレクターに設定すると、これら2つの要素が異なります(配置、サイズなどが台無しになります)。

#exclude1と#exclude2を「*」セレクタースタイルに影響されないようにするには、どうすればよいですか?


UPD:

#exclude1、#exclude2を次のように分離しました:

#exclude1 {border:0; background:transparent; width:100%; height:100%; margin:auto; padding:0; float:none; position:relative; display:table;}
#exclude2 {border:0; background:transparent; width:100%; height:100%; margin:auto; padding:0; float:none; position:relative; display:table-cell; vertical-align:middle;}

少なくとも今のところ、すべてが正常に機能しているようです。ありがとう。

4

1 に答える 1

1

*を#Exclude1、#Exclude2の前に置きます。それがCSSの仕組みであり、カスケードスタイルシートです。

そして、他のすべてが失敗した場合は、次のようにプロパティの後に!importantをスローします。

  • 境界線:なし!重要;
于 2013-01-06T20:27:16.733 に答える