테이블 사용의 문제점
1. 페이지 구조 파악이 어려워진다. => 비용발생
2. 페이지를 수정할 경우 유지, 보수가 어려워진다. => 비용발생
3. 테이블은 구성하는 태그가 많으므로 페이지 로딩 속도가 느려진다.
4. 테이블의 본래 쓰임에 맞지 않는다.
대안
1. 단순히 여백, 공간의 문제라면 padding 또는 margin을 이용함
2. div의 적극적인 도입
3. 테이블은 말 그대로 표를 그리거나, 큰 범위에서 표로 볼 수 있는 구조(게시판, 전체 디자인 레이아웃)일 경우에만 한정하도록 노력
(**테이블을 레이아웃에 사용하지 않는 것은 오히려 많은 어려움을 가져올 수 가 있습니다. 특히 우리나라의 웹현실에서 얼마나 고역인지 해보신 분들은 아실 겁니다.. 따라서 필요할 때 적절하게 그러나 과하지 않게 사용하는 것이 중요하다고 생각됩니다.)<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:54:41 CSS에서 이동 됨]</div>
1. 페이지 구조 파악이 어려워진다. => 비용발생
2. 페이지를 수정할 경우 유지, 보수가 어려워진다. => 비용발생
3. 테이블은 구성하는 태그가 많으므로 페이지 로딩 속도가 느려진다.
4. 테이블의 본래 쓰임에 맞지 않는다.
대안
1. 단순히 여백, 공간의 문제라면 padding 또는 margin을 이용함
2. div의 적극적인 도입
3. 테이블은 말 그대로 표를 그리거나, 큰 범위에서 표로 볼 수 있는 구조(게시판, 전체 디자인 레이아웃)일 경우에만 한정하도록 노력
(**테이블을 레이아웃에 사용하지 않는 것은 오히려 많은 어려움을 가져올 수 가 있습니다. 특히 우리나라의 웹현실에서 얼마나 고역인지 해보신 분들은 아실 겁니다.. 따라서 필요할 때 적절하게 그러나 과하지 않게 사용하는 것이 중요하다고 생각됩니다.)<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:54:41 CSS에서 이동 됨]</div>
댓글 6개
<div>의 깔끔함 때문에 최근들어 자주 쓰려고 하고 있습니다. 그런데 처음부터 발목을 잡는게 호환성이더군요. FF2.0에서는 예상대로 되는데 IE6에서는 구현이 안되거나 하는 문제들. 또는 그 반대 현상들. FF2.0은 CSS규약에 의거해서 유추하여 작성하면 거의 그대로 나오는 반면 IE6은 CSS의 Cascading이란 말을 무색케 하더군요. 구식이라서 그런건지. IE7에서는 좀 나아지려는지. 하지만 IE7은 그 보급 단계부터 문제가 있으니 어떻게 될런지...
일예로 div와 CSS를 사용하여 레이아웃을 바꾸려고 했는데 padding부분에서 두 브라우저간에 상충되는 부분때문에 하다 포기했습니다. 잔머리 굴려가며 해봐야 시간낭비라는 생각이 들더군요. 기껏 고생고생해서 피해가는 법을 궁리해 놔 봐야 브라우저가 업그레이드 되면 그 빠진 머리카락 보상해 주는 것도 아니고 말이죠.
결과적으로 짧은 소견이지만 그나마 호환성 문제가 가장 적은게 테이블이더란 말입니다. 테이블의 역사가 긴 만큼 당연한 얘기겠지요. 어쩔 수 없이 당분간 머리카락 안 빠지고 사는 방법은 테이블을 쓰는 것인 듯 합니다.
시간이 지나고 CSS스펙에 모든 브라우저가 충실해지면 이러한 삽질도 사라지겠죠?
일예로 div와 CSS를 사용하여 레이아웃을 바꾸려고 했는데 padding부분에서 두 브라우저간에 상충되는 부분때문에 하다 포기했습니다. 잔머리 굴려가며 해봐야 시간낭비라는 생각이 들더군요. 기껏 고생고생해서 피해가는 법을 궁리해 놔 봐야 브라우저가 업그레이드 되면 그 빠진 머리카락 보상해 주는 것도 아니고 말이죠.
결과적으로 짧은 소견이지만 그나마 호환성 문제가 가장 적은게 테이블이더란 말입니다. 테이블의 역사가 긴 만큼 당연한 얘기겠지요. 어쩔 수 없이 당분간 머리카락 안 빠지고 사는 방법은 테이블을 쓰는 것인 듯 합니다.
시간이 지나고 CSS스펙에 모든 브라우저가 충실해지면 이러한 삽질도 사라지겠죠?
예전에 겪었던 문제를 적어 둔게 있군요.
-------------------------------------
[CSS] FF2.0과 IE6에서 css padding처리의 차이점
FF2.0 과 IE6의 CSS Padding처리방식이 달라서 CSS의 padding을 이용하여 두 브라우저에 동일하게 반영되도록 간격을 맞춘다는 것이 너무 힘들군요. 서로 역관계라 한쪽에 맞추면 다른 쪽이 틀어지고 그 반대도 마찬가지고요.
FF2.0은 비교적 CSS 스펙에 충실한 반면 IE6은 오래된 버전이라서 그런지는 몰라도 CSS 스펙을 기준으로 유추해서 사용했다가는 낭패를 보기 일쑤입니다.
결론적으로 FF2.0과 IE6에 동일하게 반영되도록 간격을 맞추는 가장 간단한 방법은 padding을 0으로 하고 테이블의 셀을 이용하는 것 같습니다. padding값 0은 어떤 식으로 확장이 되든 0이기 때문에 다를 수가 없겠지요.
현재까지 시험한 바로는 IE6은 CSS의 Cascading이란 말이 무색하단 느낌이다. table보다는 가급적 div태그를 써보려던 나의 생각은 여지없이 시작부터 뭉개져 버렸습니다. div태그는 브라우저간의 격차가 줄어들기 전까지는 제한적으로 쓸 수밖에 없겠군요.
ex)
<style type="text/css">
#idname {
padding-left: 16px;
}
</style>
<table id="idname">....
<tr>
<td>
</tr>
</table>
위의 예제는 FF2.0에서는 제대로 반영되지만 IE6에서는 감감무소식입니다. IE6의 경우는 <td>에 적용해야 반영되더군요. 이것이 IE6이 Cascading이란 말을 무색하게 만드는 부분이죠.
아무튼 본인도 div를 써서 문제가 없는 경우엔 table보다는 div를 쓰는 것이 좋다고 생각합니다.
IE6이 CSS의 cascading에 충실하다면 단순히 어떤 블럭을 div로 감싸서 css적용만 하면 그 블럭내에 모두 적용이 되어야 하거늘 ... 그게 안되니 쩝쩝..
-------------------------------------
[CSS] FF2.0과 IE6에서 css padding처리의 차이점
FF2.0 과 IE6의 CSS Padding처리방식이 달라서 CSS의 padding을 이용하여 두 브라우저에 동일하게 반영되도록 간격을 맞춘다는 것이 너무 힘들군요. 서로 역관계라 한쪽에 맞추면 다른 쪽이 틀어지고 그 반대도 마찬가지고요.
FF2.0은 비교적 CSS 스펙에 충실한 반면 IE6은 오래된 버전이라서 그런지는 몰라도 CSS 스펙을 기준으로 유추해서 사용했다가는 낭패를 보기 일쑤입니다.
결론적으로 FF2.0과 IE6에 동일하게 반영되도록 간격을 맞추는 가장 간단한 방법은 padding을 0으로 하고 테이블의 셀을 이용하는 것 같습니다. padding값 0은 어떤 식으로 확장이 되든 0이기 때문에 다를 수가 없겠지요.
현재까지 시험한 바로는 IE6은 CSS의 Cascading이란 말이 무색하단 느낌이다. table보다는 가급적 div태그를 써보려던 나의 생각은 여지없이 시작부터 뭉개져 버렸습니다. div태그는 브라우저간의 격차가 줄어들기 전까지는 제한적으로 쓸 수밖에 없겠군요.
ex)
<style type="text/css">
#idname {
padding-left: 16px;
}
</style>
<table id="idname">....
<tr>
<td>
</tr>
</table>
위의 예제는 FF2.0에서는 제대로 반영되지만 IE6에서는 감감무소식입니다. IE6의 경우는 <td>에 적용해야 반영되더군요. 이것이 IE6이 Cascading이란 말을 무색하게 만드는 부분이죠.
아무튼 본인도 div를 써서 문제가 없는 경우엔 table보다는 div를 쓰는 것이 좋다고 생각합니다.
IE6이 CSS의 cascading에 충실하다면 단순히 어떤 블럭을 div로 감싸서 css적용만 하면 그 블럭내에 모두 적용이 되어야 하거늘 ... 그게 안되니 쩝쩝..
몇몇 CSS 관련 번역책을 보면 IE hack을 이용하여 IE padding문제를 개선한다고 하는데,
제가 잘못하는지 아무리 해도 IE는 엉터리로 표현하더군요.ㅡ,.ㅡ
그래서 굳이 테이블을 안 쓰고 div로만 할때는 div를 이중으로쓰고 padding보다는 margin을 씁니다. margin은 계산법이 IE와 FF가 둘다 같잖아요. 즉, 하나의 div에 padding을 쓰려하는 경우, 호환성을 위해서 두개의 div를 쓰고 안쪽의 div에 margin값을 주어서 같은 효과를 노리는거지요.
제가 쓰는 편법이기는 하나 무슨 고생인지-_-;
제가 잘못하는지 아무리 해도 IE는 엉터리로 표현하더군요.ㅡ,.ㅡ
그래서 굳이 테이블을 안 쓰고 div로만 할때는 div를 이중으로쓰고 padding보다는 margin을 씁니다. margin은 계산법이 IE와 FF가 둘다 같잖아요. 즉, 하나의 div에 padding을 쓰려하는 경우, 호환성을 위해서 두개의 div를 쓰고 안쪽의 div에 margin값을 주어서 같은 효과를 노리는거지요.
제가 쓰는 편법이기는 하나 무슨 고생인지-_-;
게시글 목록
| 번호 | 제목 |
|---|---|
| 10853 |
JavaScript
속도를 위해 데이터를 접속자 메모리에
|
| 10852 | |
| 10850 | |
| 28848 | |
| 10849 |
JavaScript
백그라운드에음악걸기
|
| 28847 |
HTML
배경에 그림스타일지정
|
| 10846 |
기타
메신저형식의광고
2
|
| 28846 |
HTML
많이 쓰이는 자바스크립트
|
| 10845 | |
| 28845 |
HTML
마우스로 이미지크기 변경하기
|
| 10844 |
JavaScript
도메인 주소에 자동으로 www 붙이기 (php)
|
| 28844 |
HTML
다음부동산매물스크립트1
|
| 28843 |
HTML
다음부동산매물스크립트
|
| 10843 |
JavaScript
다각형이미지슬라이드쇼(익스네츠)
|
| 28842 |
HTML
날짜 형식 입력 받은 값 확인하기
|
| 10842 | |
| 28841 |
HTML
그림클릭시 레이어 띄우기
|
| 10841 |
MySQL
그림을 디비에 저장하는 방법
|
| 28840 |
HTML
그림 앨범 스크립트
|
| 28839 |
HTML
간단한 팝업오브젝트 예제
|
| 10840 |
JavaScript
가운데 정렬된 홈페이지에서 따라다니는 레이어
|
| 10839 | |
| 24791 | |
| 24789 | |
| 10836 |
기타
외부 링크 막기
2
|
| 28838 | |
| 24788 | |
| 24787 | |
| 24786 |
계약서
농지임대차계약서
|
| 28837 | |
| 28834 |
HTML
URL옆에 뜨는 숏컷아이콘만들기.
2
|
| 10835 |
JavaScript
클릭시 펼쳐지는 메뉴
|
| 10834 |
정규표현식
수수료계산
|
| 28833 |
HTML
기본적인 페이징
|
| 28829 |
HTML
만 19세 확인하기
3
|
| 10833 |
JavaScript
IE에서 쓰는 CSS filter 사이트 소개
|
| 10831 | |
| 10830 | |
| 10829 |
JavaScript
iconv 함수 사용시 일부 글자가 변환되지 않는경우
|
| 28828 |
HTML
금액에 점찍고 한글 표시하기
|
| 10828 | |
| 10827 |
MySQL
mysql link 추가로 만들기
|
| 10823 | |
| 10822 |
기타
[펌] SAMBA 설정
|
| 10821 |
JavaScript
1-1000 까지 누락된 숫자 구하기
|
| 10820 | |
| 28822 |
HTML
간단하게 만들어본 프레임워크
5
|
| 10814 | |
| 10812 |
Flash
vr기능-도와주셈
1
|
| 10811 | |
| 10810 |
JavaScript
mod_cband 간단 정리
|
| 10808 |
Flash
간단한 플래시 보완패치입니다.
1
|
| 10804 |
JavaScript
cs..cs2 버젼...윈도우즈 탐색기프리뷰 패치(psd,ai)...
3
|
| 10797 | |
| 28821 |
HTML
IeTagConvertor
|
| 10796 | |
| 10795 |
JavaScript
ncftp 서브 디렉토리 포함 모두 전송
|
| 10794 |
JavaScript
테이블 각 row 마우스오버시 색깔바꾸기
|
| 10792 | |
| 10789 |
MySQL
apache - mod_ssl 설치하기
2
|
| 10785 | |
| 10781 | |
| 10780 |
정규표현식
자바스크립트 이메일 체크 함수
|
| 28820 |
HTML
PHP에서 홈페이지 주소 검사
|
| 10776 |
PHP
문자셋(인코딩 바꾸는 팁
3
|
| 10769 |
JavaScript
당장써먹어야 할 팁) 앞으로 gif는 물러가고 png시대가 될거 같네요
6
|
| 10766 |
JavaScript
full-down메뉴[펌]
2
|
| 10765 |
JavaScript
플래쉬 무비 전체 화면으로 뜨게 하는 fscommand
|
| 10758 |
JavaScript
코딩시 테이블을 줄입시다.
6
현재글
|
| 28818 | |
| 10754 |
JavaScript
모든 폰트 설정 한번에 바꾸기(식별자 *의 사용법)
3
|
| 10753 | |
| 10750 | |
| 28817 |
HTML
자바스크립트에서 변수 없애기
|
| 10749 | |
| 10748 | |
| 10747 | |
| 10746 |
JavaScript
[소개]윈도우 미디어 플레이어 - 컨트롤 버튼
|
| 10740 |
JavaScript
iframe사용시 높이 자동 조정
5
|
| 10738 |
Flash
플래시 무비에 레이어 올리기
1
|
| 10735 |
JavaScript
도움말 띄우기 - 관리자 페이지에 있는 것을 추림
2
|
| 10734 | |
| 28812 | |
| 10730 | |
| 10726 | |
| 10725 |
기타
자바스크립트 기초문서
|
| 28811 | |
| 10724 |
JavaScript
숫자를 한글로 변환하기
|
| 10723 |
JavaScript
디렉터리 파일 찾기 순서 DirectoryIndex
|
| 10722 | |
| 10721 | |
| 10717 | |
| 10716 |
기타
Apache 보안 팁
|
| 10715 |
JavaScript
문서루트 위치 DocumentRoot
|
| 10713 |
Linux
lilo.conf
1
|
| 10712 | |
| 10711 | |
| 10710 |
JavaScript
웹 서버가 기다리는 포트(Port)
|
| 10709 |
JavaScript
logrotate.conf의 설정및 옵션에 대한 설명
|
| 10708 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기