2013-05-28 2 views
0

좋아요. 우선, 저는 CSS와 HTML에 대한 새로운 경험을했습니다. 나는이 프로젝트에 착수하고 나가서 배우고있다. 그렇게 말하면서, 당신이 당신의 대답을 조금이라도 설명 할 수 있다면 그것은 많은 도움이 될 것입니다!중첩 된 Div 높이가 변경되지 않습니다

어쨌든. 길게 짧게, 양식을 만들고 테이블로 표시되는 div로 레이아웃하려고합니다 (HTML 테이블을 사용하는 방법을 알고 div를 사용하여 CSS로 스타일을 더 잘 나타낼 수 있음).

기본적으로 테이블에 표시되는 높이가 100 % 인 기본 div가 있습니다. 그런 다음 테이블 행 (총 5 개)으로 표시되는 중첩 된 div 및 표 셀로 표시되는 추가 중첩 된 div가 있습니다.

내가 가진 문제는 행이나 셀의 높이를 설정하면 변경되지 않는다는 것입니다. 모두 AT! 명심하십시오. px 또는 em이 아닌 백분율을 사용하고 있습니다.

행 1과 5가 주 div에서 100 %의 5 %가되고 2 - 4가 주 div에서 100 % 중 30 %가되도록하려고합니다. 나는 이것이 100 %와 같을 것이고 줄을 주 div의 100 % 높이와 일치 시키도록했다. 분명히 작동하지 않으므로 논리가 완전히 잘못되었다고 가정합니다.

나는 해결책을 찾았으며 하나도 찾지 못했습니다. 그래서 나는 여기에 있습니다.

당신은 그 비율 높이를 이해할 필요가
#MainDivTable 
{ 
    display: table; 
    height: 100% 
    width: 100%; 
} 

#DivCol1Row2 
{ 
    height: 30%; 
} 

#DivCol1Row3 
{ 
    height: 30%; 
} 

#DivCol1Row4 
{ 
    height: 30%; 
} 

#DivCol1Row5 
{ 
    height: 5%; 
} 

답변

0

항상 뭔가의 비율이다 즉 100 %로 mainTable 높이를 지정할 때, 그것은 수 있습니다 여기에

내가 뭐하는 거지의 생각이다 100 %는 일반적으로 부모의 키입니다.

먼저 부모의 높이를 고정 값으로 설정해야합니다. 그렇지 않으면 루트 요소에 도달 할 때까지 레이아웃 위로 백분율 높이를 전파 할 수 있습니다. 귀하의 경우에는

, 나는

html, body { height:100%;} 

트릭을 할해야한다 생각합니다.

관련 문제