2014-09-05 3 views
2

Google지도 API를 사용하고 생성 된지도를 배경으로 설정하려고합니다. div 중첩 및 중심

<div class="content"> 
    <div class="map"></div> 
    <div class="element"></div> 
</div> 

CSS의

.content { 
    position: relative; 
    height: 500px; 
} 

.map { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
} 

.element { 
    position: absolute; 
    width: 900px; 
    margin-left: auto; 
    margin-right: auto; 
    z-index: 1; 
} 

내 HTML 인 사이트는이

|-------------------------------------| 
|          | 
|          | 
|          | <- Other content 
|          | 
|-------------------------------------| 
|.map |-------------------------|  | 
|  |.element     |  | <- The concerned content (.content) 
|  |       |  | 
|  |-------------------------|  | 
|-------------------------------------| 

같이하도록되어 그러나 결과는 동일하지 않습니다. 마진을 남긴 자동차는 물론 작동하지 않습니다. 중첩은 괜찮지 만 오른쪽 여백도 있지만 왼쪽 여백을 위해 어떻게 할 수 있습니까? 내 사이트는 항상 중심에 위치해야합니다.

감사합니다. 앨런에서

해결 방법 : DOM 요소가 절대적으로 위치를

.content { 
    position: relative; 
    height: 500px; 
} 

.map { 
    position: absolute; 
    width: 100%; 
    height: 100%; 

    z-index: 0; 
} 

.element { 
    position: relative; 

    width: 900px; 
    margin-left: auto; 
    margin-right: auto; 
    z-index: 1; 
} 
+0

'left'와'right'을 0으로 설정하면'auto'의 왼쪽과 오른쪽 여백은 절대적으로 배치되고 명시 적으로 크기가 조정되는 블록에서 작동합니다. 그러나 화면의 너비가 900px보다 작 으면 블록을 가운데 놓지 마라. 대체로 @Niels Keurentjes가 보여 주듯이 음수 여백을 사용하면 절대 요소를 가운데에 배치하는 데 가장 유용 할 수 있습니다. – DRD

답변

3

사용 : 요소 이후

.element { 
    left:50%; 
    margin-left:-450px; 
    position:absolute; 
    z-index:1; 
} 

은 900px (명시 적으로 선언)을 폭 이 방법으로 중앙에서 왼쪽으로 450 픽셀 위치시키고 전체 요소를 중심에 배치합니다.

브라우저가 900px 너비 아래로 줄어들 때 예기치 않은 결과가 나타납니다. 관련성이있는 경우 미디어 쿼리로 그 값을 잡아야합니다.

1

여백 자동 작동 실 거예요.

부모가 특정 너비 값을 갖고 있다면, 당신은 당신의 .element 항목의 위쪽 및 왼쪽 속성으로 재생해야합니다.

또 다른 방법은지도의 z- 색인을 0 또는 음수 값으로 설정 한 다음 .element를 상대 위치로 설정하기 만하면 자동 값에 여백을 사용할 수 있습니다.

사용해보기.

와 당신이 필요로하는 경우에, 나는 당신을 위해 jsfiddle을 만들 수 있습니다,하지만 난 당신의 맵 코드도 필요합니다

+0

그것은 작동한다, 나는 나의 포스트에있는 당신의 해결책을 추가했다. 이것이 올바른 방법일까요? – Druxtan

+0

이것과 다른 많은 것들을 해결하는 다른 방법이 있습니다, 이것이 하나입니다. 만약 당신이 작업하고있는 코드를 제공 할 수 있다면, 내가보기에 모든 것이 정상적으로 보일지 알릴 수 있습니다. – Allan

+0

Niels Keurentjes의 솔루션을 사용하면 마진을 추가 할 수 있습니다. 지도. – Druxtan