2014-01-31 3 views
2

<table> (또는 <div>display:table)을 사용할 때 문제가되는데 어떻게이 표 요소를 세로 가운데에 배치 할 수 있습니까? 물론 크롬에서이 방법 (모든 웹킷 또는 깜박임), 작동을 사용하는 경우파이어 폭스에서 표의 세로 맞춤

margin: auto; 
position: absolute; 
top: 0; left: 0; bottom: 0; right: 0; 
overflow: auto; 

,하지만 파이어 폭스에서 :

나는 수직 중심의이 방법을 사용했다. Chrome에서이 바이올린 ( http://jsfiddle.net/Mu4yd)을 실행하면 테이블의 중심이 수직으로 표시되는 반면 Firefox에서는 상단에 막대기가 표시됩니다.

Firefox에서 작동하도록 추가해야 할 부분이 있습니까? 또는 두 가지 브라우저에서 테이블을 수직으로 가운데 정렬하는 다른 방법이 있습니까?

답변

0

A-반응 친절하고 유연한 솔루션이 있습니다를 사용하여 위치를 지정할 수 있습니다. 당신이 사업부의 너비 또는 높이를 모를 경우, 당신은이 CSS3 코드를 사용할 수 있습니다

Vertical align center with transform - fiddle

.valign{ 
    transform: translate(-50%, -50%);  
    -webkit-transform: translate(-50%, -50%); 
    -moz-transform: translate(-50%, -50%); 
    -ms-transform: translate(-50%, -50%); 
    position: absolute; 
    top: 50%; 
    left: 50%; 
} 
+0

그것은 작동합니다. 그러나 '변환'비용이 비싼가요? 거기에 간단한 해결책이 있습니까? –

+0

이 코드를 많이 사용하고 있으며 CSS3의 세계에서 "경량"솔루션이라고 생각합니다. – catchke2ro

0

는 다음과 같은 방법

#tablelo{ 
    background-color: black; 
    height: 100px; 
    width: 100px; 
    display: table;  
    margin: -50px 0 0 -50px; 
    position: absolute; 
    top: 50%; left: 50%; 
    overflow: auto; 
} 

Fiddle Demo

+0

를하지만 일반 아니다. 테이블 크기가 변경 될 때마다 여백 크기를 변경해야합니다. –

관련 문제