2012-02-17 6 views
1

다른 div 내에 컨테이너 div를 가운데에 놓고 싶습니다. 그리고 컨테이너의 자식 div도 가운데에 맞춰야하지만 왼쪽으로 정렬해야합니다. 하위 div는 가변적이고 예측할 수없는 너비입니다. 예를 들어너비를 지정하지 않을 때 부모 div 내에서 가운데 ​​정렬 된 자식 div를 센터

는 :

<div> 
    <div class="container"> 
     <div class="child"><img />Text</div> 
     <div class="child"><img />Text Widest</div> 
     <div class="child"><img />T</div> 
    </div> 
</div> 

나는 파이어 폭스에서 작동하는 솔루션을 찾았지만, 보편적 인 솔루션이 필요합니다. 또한 JavaScript를 사용하여 이미지, 텍스트 및 div를 측정하는 방법을 고려해 보았습니다. 그러나 저는 CSS가 무식하다는 확신을 가지고 간단하고 우아한 해결책이 있습니다.

.container { 
    width: -moz-max-content; 
    margin: 0px auto 0px auto; 
    border-style: solid; 
} 

.child { 
    border-style: solid; 
    margin: 0px auto 0px auto; 
} 
+0

는 외부 대부분의 사업부 100 %의 폭을 가지고해야합니까 : 여기에 단지 파이어 폭스에서 작동 무엇인가? 만약 당신이 그들 중 하나에 대해 고정 폭을 설정할 수 있다면'margin : 0 auto; '가 작동 할 것이다. – thepriebe

+0

아니요. 가장 바깥 쪽 div는 너비가 다를 수 있지만 원하는 레이아웃을 얻으려면 컨테이너 div 스타일에 고정 너비 또는 비율 너비를 설정할 필요가 없습니다. 그 일을 할 때의 문제는 하위 div가 그 너비를 초과 할 수 있고 작은 너비를 설정할 때 줄 바꿈이 발생한다는 것입니다. 물론 큰 고정/상대 너비를 설정하면 자식 div가 컨테이너의 가운데에 나타나지 않게됩니다. –

+0

이것을보고 'span'과'display : inline-block;'을 코드에 추가해야하는지 확인하십시오. http://stackoverflow.com/questions/450903/make-css-div-width-equal-to-contents – thepriebe

답변

0
.container { 
    display: table; 
    margin: 0 auto; 
} 
.container > .child { 
    display: table-cell; 
} 
관련 문제