코드는 여기에 있습니다 : http://lasers.org.ru/vs/example.html
메인 블록 (#page) 아래의 빈 공간을 제거하는 방법은 무엇입니까?
코드는 여기에 있습니다 : http://lasers.org.ru/vs/example.html
메인 블록 (#page) 아래의 빈 공간을 제거하는 방법은 무엇입니까?
답변:
그럼 상대 위치를 사용하지 마세요. 요소는 상대 위치를 사용할 때 원래 있던 공간을 여전히 차지하므로 제거 할 수 없습니다. 예를 들어 절대 위치 지정을 대신 사용하거나 요소를 서로 옆에 떠있게 만들 수 있습니다.
나는 레이아웃을 약간 가지고 놀았고이 세 가지 규칙을 다음과 같이 변경하는 것이 좋습니다.
#layout { width: 636px; margin: 0 auto; }
#menu { position: absolute; width: 160px; margin-left: 160px; }
#page { width: 600px; padding: 8px 16px; border: 2px solid #404241; }
나를 위해 잘 작동하는 또 다른 트릭은 이동 한 상대 요소에 음의 여백 하단을 사용하는 것입니다. 절대 위치를 지정할 필요가 없습니다.
다음과 같은 것 :
position: relative;
left: 100px
top: -200px;
margin-bottom: -200px;
녹색에서 지금 보는 솔루션과 유사합니다 (동일하지 않은 경우).
margin-bottom, 아래쪽에 여분의 공간을 없애고 싶기 때문에 마이너스 숫자와 함께 사용 합니다.
#page {
padding-bottom: 0;
}

내 대답은 늦었지만 비슷한 문제로 다른 사람들에게 도움이 될 수 있습니다.
나는 모든 자식 요소가 스타일을 <div>가진 position: relative;곳을 가졌습니다 position: absolute;. 이로 인해 내 페이지 에 약 20px 의 공백이 나타납니다.
이 문제를 해결하기 위해 with margin-top: -20px;뒤에 다음 형제 요소를 추가 했습니다 .<div>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>