2016-12-24 3 views
2

나는 div을 가지고 있는데, 헤더, 텍스트 영역 및 바닥 글로 구성되어 있습니다. 머리글과 바닥 글은 내용만큼 크며 텍스트 영역은 나머지 공간을 차지합니다. 텍스트 영역의 높이가 100 %를 초과하지 않아야하므로 텍스트 영역의 글꼴 크기는 max-height입니다. 그러나 텍스트 영역의 크기를 조정하면 텍스트 영역이 부모의 100 %보다 커집니다. 이것을 방지하는 방법?CSS - 최대 높이 : 100 %가 텍스트 영역에서 작동하지 않습니다.

번호 : http://jsfiddle.net/FC7eY/1650/

요약 : 모든 요소의 높이의 합계가 100 %이어야

  • textarea-wrapper DIV의 높이 totalHeight(100%) - headerHeight - footerHeight
  • 헤더이어야하며 바닥 글은 고정 된 높이가 아니어야하며, 내용물만큼 커야합니다. 부모/래퍼 DIV의
  • 높이가 80 %이어야하며, 당신은 당신이 텍스트 영역의 높이와 너비 CALC의 CSS를 사용하여 동일한 화면 크기로 사람들을보고 싶다면 폭은 350px
+0

오버 플로우하지 않습니다 아이들의 키에 따라 역동적으로 성장한다. 이 경우에는 텍스트 영역입니다. 그것은 당신이해야 할 일을하고 있습니다 :) –

+0

정확하게 당신이 출력을 원하는 방법을 조금 더 명확하게 설명 할 수 있습니까? – Geeky

+0

@ Geeky 물론, 제 질문에 요약을 추가했습니다. 나는 그것이 지금 모든 것이 분명하기를 바란다. – UUioP

답변

0

해야합니다. 당신은 어떤 화면 크기의 모든 요소를 ​​볼 수있는 디스플레이 테이블과 테이블 행을 사용합니다. 글쎄, 당신은 높이에 대해 teaxarea div의 높이 계산 기능을 사용할 수 있습니다. 과 같은 것으로부터 머리글과 바닥 글 높이를 제거하십시오. ** Updated Fiddle 업데이트를 확인하십시오. CSS의 부분은

는 UPDATE : 당신은 모든 부모를 위해 높이 100 %를 가지고 있기 때문에 남아있는 높이와 너비와 텍스트 영역을 취할 것입니다 이제 2 사업부는 콘텐츠 것, 수평

html, 
 
body, 
 
* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
.wrap { 
 
    width: 350px; 
 
    height: 80%; 
 
    display: table; 
 
    border: 3px solid magenta; 
 
} 
 

 
.wrap > div { 
 
    background: red; 
 
    display: table-row; 
 
    height: 0; 
 
} 
 

 
#textarea-wrapper { 
 
    background: pink; 
 
    height: auto; 
 
} 
 

 
#text { 
 
    max-width: calc(350px - 3px); 
 
    max-height:100%; 
 
}
<div class="wrap"> 
 
<div id="header">Header<br>Header<br>Header<br>Header<br>Header<br></div> 
 
<div id="textarea-wrapper"> 
 
    <textarea id="text"></textarea> 
 
</div> 
 
<div id="footer">Footer<br>Footer<br>Footer<br>Footer<br></div> 
 
</div>

+0

내 머리글과 바닥 글의 높이가 고정되어 있지 않습니다. 그것들은 그들의 내용만큼 높을 것입니다. – UUioP

+0

그런 다음 textarea # text {max-height : 100 %; 최대 너비 : 100 %;} –

+0

@UUioP 업데이트를 참조하십시오. 어쩌면 그것은 당신을 도울 것입니다. :) –