2011-11-15 3 views
2

나는 내 웹 사이트의 상단에 "리본"유형의 헤더가 :내 절대 위치 div가 상대 위치 div를 덮는 이유는 무엇입니까?

#top-wrapper { 
    border-bottom: 5px solid #A1C1BE; 
    width: 100%; 
    background-color: #59554E; 
    position: absolute; 
    top: 0; 
    left: 0; 
    margin-bottom: 100px; 
    padding: 10px 0 0 0; 
    color: #C0C0A8; 
} 

절대 위치는 (내가 아는까지로)가 사용자의 브라우저의 전체 폭을 차지하고 있는지 확인하기 위해 필요합니다. 하지만, 내 웹 페이지의 나머지 (내 모든 다른 div가 들어있는 본체)이 리본 뒤에 숨겨져 :

#pagebody { 
    width: 60%; 
    margin-left: auto; 
    margin-right: auto; 
} 

내가 말 사이에 <br>의 무리를 추가 발견 할 수 있었던 유일한 해결책 top-wrapper이고 시작은 pagebody입니다.

더 좋은 방법이 있나요?

+0

여기 또는 HTML이 도움이 될 것입니다. 누군가가 이미 절대 위치를 지적 했으므로'shouldn't'가 필요합니다. – mrtsherman

답변

2

다른 답변에서 내 의견으로 당 : 그러나 전반적으로, 당신은 단순히 pagebody 태그에 위쪽 여백이나 패딩을 추가하려면이 같은 필요

당신은 단지 width: 100%를 사용할 수 있지만, 확인 또한 necolas 'normalize.css을 확인해야

html, body { 
    margin: 0; 
    padding: 0; 
} 

: 당신은 잎 기본 격차를 제거합니다. 거의 모든 사이트에서 필요한 기본 CSS 규칙이 모두 포함되어 있습니다.

0

절대 위치 지정은 일반적인 흐름에서 요소를 가져옵니다. 너비를 최대화하기 위해 절대 위치 지정이 필요하지 않습니다. 너비는 100 %입니다.

+0

'width : 100 %;를 설정하면 div와 브라우저 가장자리 사이에 작은 간격이 생깁니다. – n0pe

+1

'margin : 0;을 설정하십시오. html'과'body' 모두 패딩 : 0'을 사용합니다. – MartinodF

+0

@MartinodF 정확히 내가 필요한 것입니다. 대답에 넣을 수 있다면 받아 들일 것입니다. – n0pe

0

이렇게하는 방법에는 여러 가지가 있습니다. 먼저 pagebody 요소 외부에 최상위 래퍼를 배치 한 다음 너비를 100 %로 정의하면됩니다.

그래픽이 리본인데 페이지 바디 요소의 윗부분과 겹쳐 져야한다면 - 위에서 말한 것처럼 생각하면 위치 절대 값과 Z- 인덱스를 사용하여 페이지 바디 위에 배치 할 수 있습니다 요소. 그런 다음 적절한 padding-top을 pagebody에 추가하십시오.

당신은 정말 당신이 완전히 무엇인지 알지 못하기 때문에 html을 제공하지 않았습니다.

2

Z- 색인으로 일부 해킹하는 경우가 아니면 (심지어 제한적이기는하지만) 절대적으로 배치 된 요소 (상단 래퍼)는 항상 상대적 요소 (페이지 바디) 위에 있습니다. 당신이 아마하고 싶은 것은 pagebody 요소를 top-wrapper 바로 아래로 이동시키는 것입니다. 높이가 지정되지 않았기 때문에 최고 랩퍼의 높이가 얼마나되는지 모르겠습니다. 글꼴 크기의 차이 때문에 글꼴을 모를 수도 있습니다.

margin-top:50px; 
+0

내 포장지 또는 그 밖의 것에 아무 문제가 없습니까? 이 문제를 해결할 수있는 유일한 방법은 내 래퍼의 높이를 정의한 후 마진을 사용하는 해킹입니까? – n0pe

+0

해킹이 아닙니다. 그것은 포지션 절대 값의 일반적인 사용법입니다.제 생각에 Hacky는 위치 절대 값이 처음부터 이상한 선택이라는 것을 의미하며 사용자의 필요에 맞게 수정하는 것은 일종의 해킹입니다. 왜냐하면 여러분이해야 할 일은 위치 선언을 제거하고 위쪽과 왼쪽을 제거하고 전체 요소를 DOM의 적절한 위치에 100 % 적용합니다. –

+0

"Hacky"는 일반적으로 대부분의 사람들이 기대하는대로 작동하지 않기 때문에 Z- 인덱스의 사용을 구체적으로 설명하는 데 사용되며 예상대로 작동하도록 추가 CSS가 필요합니다. 당신이 정말로 원하는 것은 다른 사람들이 말하고있는 것입니다 (절대 선언을 제거하십시오). 또는 말했듯이 마진이나 패딩을 사용하여 페이지 바디를 아래로 이동하십시오. – Dwight

관련 문제