2012-05-17 2 views
1

나는 대부분의 페이지에서 내 콘텐츠 영역에 중심을두고 싶은 div가 있는데, 나는 이것을 "margin:5px auto;"을 통해 완성합니다.여백이있는 요소 : 자동으로 부유 요소가 겹칩니다. 솔루션?

특정 페이지에서 오른쪽에 이미지와 캡션을 넣고 (예 : <div><img /><cite></cite></div>) 원본 영역을 나머지 공간의 가운데에 배치하고 싶습니다. 내 div를 float:right;으로 설정하면 원래 div가 겹칩니다.

원래 div를 대부분의 페이지의 가운데에 배치 할 수있는 가장 좋은 방법은 무엇이겠습니까? 그 옆에 요소를 배치하면 옆으로 조정할 수 있습니까? (또는 나는 테이블, 또는 인라인 스타일 :(

를 사용할 수 있습니다 나는 #right을 할 수있는 뭔가를 원하는 명확히하기 위해 여기에 jsfiddle http://jsfiddle.net/nhaskins/zjZth/

감사합니다.

편집

이 임의 너비이면 #left은 나머지 너비를 중심으로하고 텍스트는 #left 이하로 흐르고 #right 주위로 흐릅니다. 해결책을 찾지 못하면 폴백이 표시됩니다. 지정된 페이지에 대해 올바르게 배치하려면 인라인 스타일로 #left의 여백을 무시하십시오.

답변

0

사용하여 업데이트 대답 jQuery를 :

http://jsfiddle.net/zjZth/8/

$(document).ready(function(){ 
    var margin = (($('#content').width() - $('#right').width()) - $('#left').width())/2; 
    $('#left').css('margin-left', margin + 'px'); 
}); 

원래 답변 :

가장 쉬운 솔루션 내가 당신의 부동 권리 사업부 외부를 가하고 가지고 올 수 귀하의 콘텐츠, 귀하의 콘텐츠를 제공하는 너의 떠 다니는 div의 너비와 같은 여백.

업데이트 바이올린 : http://jsfiddle.net/zjZth/6/

HTML :

#content { 
    padding: 5px; 
    margin-right:200px; 
} 

#right { 
    background: rgba(0,0,255,0.8); 
    float: right; 
    width: 200px; 
    height: 200px; 
    margin: 5px; 
} 

#left { 
    background: red; 
    margin: 5px auto; 
    width: 200px; 
    height: 120px; 
} 
+0

이 솔루션은 유효하지만 나를 위해 작동하지 않습니다

<div id="right"></div> <div id="content"> <div id="left"></div> <p>Lorem ipsum etc. etc. hkf uhuhek jfhksd jhgklh wgeluih e d shd ed k uhue f vgkdgku e fudu ghf ugefkiu gek fwioeugf i ghdsi gusdui djhfk uhuhek jfhksd jhgklh wgeluih e d shd ed k uhue f vgkdgku e fudu ghf ugefkiu gek fwioeugf i ghdsi gusdui djhfk uhuhek jfhksd jhgklh wgeluih e d shd ed k uhue f vgkdgku e fudu ghf ugefkiu gek fwioeugf i ghdsi gusdui djhfk</p> </div> 

그리고 CSS에 대한

. '# content'는 필자의 주요 기사이며, 나는 거의 절반으로 줄이려고한다. '# right'가 임의의 폭을 가질 수있는 무언가를 원합니다.'# left'는 나머지 폭을 중심으로 할 것이고, 텍스트는'# left' 아래에서 지워지고'# right' 주위로 흐를 것입니다. – nHaskins

+0

문제는'# left' div *가'#content'에서 중심에 위치한다는 것입니다. 나는 JavaScript없이 이것을 할 수있는 방법이 있다고 생각하지 않는다. jQuery를 사용하는 바이올린은 다음과 같습니다. http://jsfiddle.net/zjZth/8/ – MetalFrog

+0

전적으로 정서적 인 이유로 JavaScript를 피하고 싶었습니다.하지만 그것에 대해 생각해 보겠습니다. 그것은 내가 원하는 것을 해낸다. – nHaskins

1

수레 문제는 일반적인 콘텐츠 흐름에서 그 요소를 가져오고 거기에 떠 다니는 것이고 다른 요소와 잘 어울리지 않는다는 것입니다. 인라인 요소로 사용하거나 clear:both을 사용해야 할 수도 있습니다.

관련 문제