コードはここにあります:http://lasers.org.ru/vs/example.html
メインブロック(#page)の下の空きスペースを削除するにはどうすればよいですか?
コードはここにあります:http://lasers.org.ru/vs/example.html
メインブロック(#page)の下の空きスペースを削除するにはどうすればよいですか?
回答:
そうですね、相対的な配置は使用しないでください。要素は、相対配置を使用したときに元の場所を占有するため、それを取り除くことはできません。たとえば、代わりに絶対配置を使用したり、要素を並べて浮かせたりすることができます。
レイアウトを少しいじってみましたが、次の3つのルールを変更することをお勧めします。
#layout { width: 636px; margin: 0 auto; }
#menu { position: absolute; width: 160px; margin-left: 160px; }
#page { width: 600px; padding: 8px 16px; border: 2px solid #404241; }
私にとってうまく機能したもう1つのトリックは、移動した相対要素に負のマージンボトムを使用することです。絶対的なポジショニングを行う必要はありません。
何かのようなもの:
position: relative;
left: 100px
top: -200px;
margin-bottom: -200px;
緑から、私が今見ている解決策に似ています(同一ではないにしても)。
margin-bottom
、下部の余分なスペースを取り除きたいので、マイナスの数で使用します。
#page {
padding-bottom: 0;
}
私の答えは遅れていますが、それは私が持っていたのと同様の問題で他の人を助けるかもしれません。
私が持っていた<div>
とのposition: relative;
すべての子要素を持っているposition: absolute;
スタイルを。これは約20pxを引き起こしましたの空白が私のページに表示されました。
これを回避するためmargin-top: -20px;
に、<div>
withの後に次の兄弟要素を追加しましたposition: relative;
。
以前に兄弟要素がある場合は、 margin-bottom: -20px;
section {
height: 200px;
}
<h2>Extra Whitespace</h2>
<section>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div style="position:relative;">
<div style="position:relative; top: -20px; left:100px;">ABSOLUTE</div>
</div>
<div>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</section>
<h2>No Whitespace margin-top</h2>
<section>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div style="position:relative;">
<div style="position:relative; top: -20px; left:100px;">ABSOLUTE</div>
</div>
<div style="margin-top:-20px;">
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</section>
<h2>No Whitespace margin-bottom</h2>
<section>
<div style="margin-bottom:-20px;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div style="position:relative;">
<div style="position:relative; top: -20px; left:100px;">ABSOLUTE</div>
</div>
<div>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</section>
この質問はよく答えられているようですが、上記のすべての答えは私のレイアウトに悪い副作用をもたらしました。これは私にとって本当にうまくいったことです:
.moveUp {
position: relative;
}
.moveUp > * {
position: absolute;
width: 100%;
top: -75px;
}
/** This part is just design - ignore it ... ****/
.box1, .box2, .box3 {
height: 100px;
color: white;
}
.box1 {
background: red;
}
.box2 {
background: blue;
height: 50px;
}
.box3 {
background: green;
}
<div class="box1">Box 1</div>
<div class="moveUp"><div class="box2">Box 2 - 75px up</div></div>
<div class="box3">Box 3</div>