CSS 대신 테이블을 사용하는 대신 두 개의 인라인 블록 (또는 무엇이든) DIV 태그를 사용하면 가능합니까?
테이블 버전은 다음과 같습니다 (테두리가 추가되어 볼 수 있습니다).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<table style="width:100%;">
<tr>
<td style="border:1px solid black;width:100px;height:10px;"></td>
<td style="border:1px solid black;height:10px;"></td>
</tr>
</table>
</body>
</html>
너비 가 고정 되지 않은 FIXED WIDTH 의 왼쪽 열과 줄의 나머지 공간 을 채우기 위해 확장되는 오른쪽 열이 생성됩니다 . 아주 간단하게 들립니까? 또한, "부동되지 않은"것이 없기 때문에, 부모 컨테이너의 높이는 내용물의 높이를 포함하도록 적절히 확장된다.
--BEGIN RANT--
고정 폭 사이드 컬럼을 가진 다중 열 레이아웃에 대한 "명확한 수정"및 "거룩한 성배"구현을 보았고, 복잡하고 복잡합니다. 요소의 순서를 반대로하거나, 너비 비율을 사용하거나, 부동 수, 음수 여백을 사용하며, "왼쪽", "오른쪽"및 "여백"속성 간의 관계는 복잡합니다. 또한 레이아웃은 하위 픽셀에 민감하므로 단일 픽셀의 테두리, 패딩 또는 여백을 추가해도 전체 레이아웃이 깨지고 전체 열 줄 바꿈이 다음 줄로 전송됩니다. 예를 들어, 반올림 오류는 각 요소의 너비를 25 %로 설정하여 한 줄에 4 개의 요소를 배치하는 것과 같이 간단한 작업을 시도하더라도 문제가됩니다.
-끝 RANT--
"inline-block"과 "white-space : nowrap;"을 사용해 보았지만 문제는 두 번째 요소가 줄 의 나머지 공간 을 채울 수 없다는 것 입니다. 너비를 "width : 100 %-(LeftColumWidth) px"와 같은 값으로 설정하면 경우에 따라 작동하지만 width 속성에서 계산을 수행하는 것은 실제로 지원되지 않습니다.
display: table-*
작동시킬 구조체 로 바꾸는 것을 제외하고는 이것을 할 수있는 건전한 방법이 없다고 생각 하지만 실제로는 "더 의미 론적이지"않고 (끔찍한div
수프) IE6 호환성을 파괴합니다.<table>
누군가가없이 작동하는 천재적인 간단한 아이디어를 내놓지 않으면 개인적으로을 고수 할 것입니다.