2012-08-18 2 views
0

임의의 요소를 보유 할 높이를 가진 div와 나머지 공간을 채우기를 원하는 div가 있으므로 div가 채우는. jsfiddle요소가 컨테이너의 나머지 세로 공간을 채우게하는 적절한 방법은 무엇입니까?

HTML :

<div class=container> 
    <div class=title> 
     <h1> title </h1> 
    </div> 
    <div class=body> 
     <h1> stuff here </h1>  
    </div> 
</div>​ 

CSS :

.container { 
    border: 1px red solid; 
    height: 300px; 
} 
.title { 
    background: blue;  
} 
.body { 
    background: green; 
} 

내가 그것을 this처럼하지만, 명시 적으로 높이를 설정하지 않고 보이도록 녹색 사업부는 빨간색 테두리 내에서 공백을 채우려 왜냐하면 제목과 포함 div의 크기가 동적이기 때문입니다.

+1

Easy? http://jsfiddle.net/userdude/wTmVk/7/ –

+0

배경을 예제로 사용했습니다. 본문 요소에는 실제로 높이를 채우려는 다중 선택이 들어 있습니다. – everett1992

+0

Riiiight. 나는 마크 업 레이아웃을 수정하지 않고서는 흐름을 보존하기를 원하기 때문에 방법을 모른다. 순수한 CSS로는 "x가 너무 많고, y는 남은 것이 있습니다"라고 말하는 방법이 없습니다. 아니 내가 아직 건너 왔어. –

답변

1

내가 할 일은 안에이라는 제목을 넣는 것입니다. 그런 다음 본체 높이를 100 %로 설정할 수 있습니다 (컨테이너의 높이가 고정되어 있기 때문에). 제목은 자체 배경과 함께 필요한 것을 채울 것입니다. 관련 요소를 하나의 컨테이너에 결합하면 배치에서 물건을 이동하는 것이 훨씬 간단해질 수 있습니다.

HTML :

<div class=container> 
    <div class=body> 
     <div class=title> 
      <h1> title </h1> 
     </div> 
    <h1> stuff here </h1>  
    </div> 
</div>​ 

CSS :

.container { 
    border: 1px red solid; 
    height: 300px; 
} 
.title { 
    background: blue; 

} 
.body { 
    height:100%; 
    background: green; 
} 

당신은 항상 당신의 다중 선택을 포함하는 컨테이너 내부에 다른 요소를 추가하고, 부모 컨테이너의 속성을 상속 할 수 있습니다.

+0

궁극적으로이 예에서는 녹색 인 모든 영역을 채우려는 다중 선택입니다.이 속성이 작동하려면 어떤 속성을 상속해야합니까? – everett1992

+0

상속 할 색 또는 다른 것을 상속해야합니다. 일부 브라우저 (특히 가변 글꼴 크기를 사용하는 모바일 브라우저)는 다른 텍스트보다 큰 텍스트를 표시하고 페이지를 더러워 보이게하기 위해 어색한 오버플로를 원하지 않기 때문에 컨테이너의 가변 높이를 사용하는 것이 좋습니다. – Adam11

관련 문제