2014-02-19 7 views
0

HTML 테이블을 만들고 Internet Explorer 11을 사용하고 있습니다. 각 TR에는 다양한 크기의 요소가 포함 된 여러 개의 TD가 있습니다. IE DOM Explorer를 통해 페이지를 검사하고 무슨 일이 일어 났는지 생각합니다. 일반적으로 텍스트 영역은 CSS 당 최대 167px이지만 다른 td 요소 중 하나가 더 커질 수 있습니다 (예 : td1 = 300px). 내가 가진 문제는 텍스트 영역을 300px로 채우고 싶다는 것입니다. 나는 높이가 여전히 167px 인 td id = "td3"에서 상속 받고 있음을 알 수 있습니다. 내가 td id = "td3"을 얻을 수있는 방법은 tr에서 가장 큰 형제 td에서 높이를 얻는 것입니다.TR의 최대 TD를 기준으로 높이 설정

html로 내가 크롬 내가 원하는 것을하지만 표준

을 준수 솔루션을 선호 알

.ta{ 
    height: 100%; 
    min-height: 167px 
} 

한 가지가이

<thead> 
    ... 
</thead> 
<tbody> 
    <tr> 
     <td id="td1">[Dynamic Text1]</td> 
     <td id="td2">[Dynamic Text2]</td> 
     <td id="td3"><textarea class="ta"></textarea></td> 
    </tr> 
    <tr> 
    ... 
    </tr> 
    <tr> 
    .... 
</tbody> 

CSS 같은 형태

+5

코드에서 많은 오류가 있습니다 : ** (1) ** 적절한 태그의'TD는'입니다 닫 아니라'어쨌든, 당신의 예는 여기에 잘 작동하는 것 같다 '** (2) ** 텍스트 영역 태그를 닫지 않았습니다. '' ** (3) ** 세 번째'td'를 제대로 닫지 않았습니다. ** (4) ** '최소 높이'줄 뒤에 세미콜론이 필요합니다. 이러한 모든 오류를 수정하면 올바르게 실행됩니다. – rvighne

+0

성격이 강하기 때문에, 마지막 속성 이후에는 세미콜론이 필요 없지만 생략하면 편집시에 쉽게 mangle * 할 수 있습니다. – user13500

+0

당신은 여전히 ​​당신이 수있는 경우에. Internet Explorer 11이나 Firefox가 아닌 Chrome에서 위의 작업을보고 있습니다. – wbm

답변

0

HTML 오류가 없는지 확인하십시오 (w3.org 유효성 검사기를 사용하여 유효성을 검사 해보십시오). 이는 종종 다른 렌더링 엔진 사이에서 발생하는 디스플레이 버그의 원인입니다.

td { 
    min-height: 200px; 
    background: lightblue; 
    vertical-align: top; 
} 

textarea { 
    display: block; 
    height: 100%; 
    min-height: 50px; 
} 

http://jsfiddle.net/Kg3P5/2/

+0

Chrome에서는 작동하지만 Internet Explorer에서는 작동하지 않습니다. – wbm

+0

흥미로운 점이 하나 있습니다. Internet Explorer에서 계산 된 속성을 보면 tr의 높이가 242 픽셀로 설정됩니다. Internet Explorer에서 높이는 "auto"로 설정됩니다. 이것들은 둘 다 계산됩니다 (어떤 CSS에서도 오지 않습니다). jsfiddle과 내 프로젝트 모두에서 이것을 보았습니다 – wbm

+0

아. 죄송합니다. 지금 IE에 액세스 할 수 없지만 표시 할 텍스트 영역을 설정하여 업데이트 된 예는 다음과 같습니다. block; 다시 시도해보십시오. IE에 차이가 있는지 확인하십시오. 이유는 텍스트 영역이 기본적으로 인라인이기 때문에 높이를 적용하지 않으면 높이가 적용되지 않을 수 있다는 것입니다. –