2016-07-11 3 views
2

고정 된 높이의 셀 중간에 비디오를 정렬하려고합니다. 상단과 하단의 오버플로가 숨겨져 있습니다.셀 가운데에서 비디오를 수직으로 정렬하는 방법은 무엇입니까?

까지 지금 내가있어합니다 :

<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td height="150" style="display: block; overflow: hidden; vertical-align: middle;"> 
    <div style="position: relative;"> 
     <video autoplay loop width="100%" style="display: block;"> 
     <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4"> 
     </video> 
    </div> 
    </td> 
    </tr> 
</table> 

그러나 "수직 정렬 : 중간;" "td"에서 아무것도하지 않는 것 같습니다.

난 단지 가운데 150 개 픽셀을 볼 수 찾고 있어요,하지만 현재는 최고 150을 보여주는 것 ... 내 JSfiddle 예에, 링크를 도울 수있는 사람들을위한

: https://jsfiddle.net/xtxkm02a/1/

감사합니다.

+0

는'디스플레이 제거 : 당신의'td'에서 block'을 숨겨진 오버 플로우와 사업부를 삽입합니다. 'display : block'을 사용하면'display : table-cell'을 덮어 씁니다. – Phil

+0

레이아웃 용 테이블을 절대 사용하지 않습니다. 테이블은 테이블 형 데이터 전용입니다 – Pete

답변

0

내 의견에 덧붙여 다음은 코드입니다.

table { 
 
    height: 300px; 
 
    border: 1px solid #000; 
 
} 
 
table td { 
 
    border: 1px solid #f00; 
 
    overflow: hidden; 
 
    vertical-align: middle; 
 
    height: 30px; 
 
} 
 
.video { 
 
    overflow: hidden; 
 
    height: 150px; 
 
} 
 
.video video { 
 
    width: 100%; 
 
    margin-top: -75px; 
 
}
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
 
    <tr> 
 
     <td valign="center" style=""> 
 
      <div class="video"> 
 
       <video loop> 
 
        <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4"> 
 
       </video> 
 
      </div> 
 
     </td> 
 
    </tr> 
 
</table>

+0

필, 내 문제를 살펴 줘서 고마워. 나는 당신의 코드를 시도했지만 여전히 내가 찾던 결과를 얻지 못했다. 비디오가로드 될 때 프레임의 상단 부분을 계속 보여 주므로 비디오의 가운데 부분을 표시 할 수 없습니다. – Nalgeneo

+0

내 잘못입니다. 질문을 올바르게 읽지 못했습니다. 내 대답을 업데이트했고 이제 비디오가 중앙에 위치합니다. 바깥 쪽 div에 높이가 있어야하고 바깥 쪽 div 높이/2에 음수 여백이 있어야합니다. – Phil

관련 문제