0

z-index の妥当性を使用して別の div を置き換えた後、div からパディングを削除する方法。

これは基本的な HTML 構造です:
a) メイン コンテナ、height:auto
b) オーバーフローする必要のある
div c) オーバーフローする div b) div

c) div を 200px 上に移動すると、空きスペースができます。メインコンテナはオートハイト可否はありますが、大きさはそのままです。
私の質問は、divを位置/ z-indexプロパティで上に移動した後、余分なスペースをどのように削除するのですか?

4

2 に答える 2

0

div#cを配置する代わりに、負のマージンを使用できます。このデモを参照してください。

負のマージンはスタッキングを変更しませんが、div#cをdiv#bの上に置くことができます。マージンが崩壊する現象を忘れないでください。

場合によっては、絵に関する限り、同じ結論に達することができます(どの技術を採用してもかまいません)。しかし、ルートは重要なcssの概念に沿って進みます。

  • 上|右|下|左を使用して、 div#cがスペースを占有した後にオフセットが実行されます。したがって、次の要素(またはあなたの場合:div#a)は、最初に配置されなかった場合にそのように配置されます。
  • ポジショニングは、新しいスタッキングコンテキストを作成できます(z-index!= autoと組み合わせて)
  • 相対的に配置された要素は、包含ブロック(絶対的に配置された子孫の参照フレーム)を作成します
  • 相対ポジショニングは、IEのバグ修正として多かれ少なかれ意識的に使用されます。
于 2012-05-25T08:30:46.230 に答える
0

これを置き換えてみてくださいtop:-30px; マージン付き-トップ:-30px;

http://jsfiddle.net/NqphG/1/

于 2012-05-25T07:55:16.230 に答える