table태그로 테이블을 만들고 style 로 꾸며 보자.
table 태그로 table만들고 style 로 꾸미기
지난 시간에 이어 이번 시간에는 우리가 블로그나 홈페이지에 포스트를 게재 할때
자주 사용 하는 table박스 만드는 법과 박스를 좀더 이쁘게 스타일로 꾸며 보는 방법에 대해 공부 해 보기로 합니다.
우선 테이블을 꾸미는데 필요한 자료를 알아 보겠 습니다.
음식으로 치면 주 소재가 되는
<table>
시작 태그가 있어야 겠지요
그리고 닫는태그 </table>
가 필요 합니다.
<tbody> </tbody> 이 필요 하구요
그리고 테이블 테그에는 width 넓이를 정하는 속성 엘리먼트
height 높이를 정하는 속성 엘리먼트 가 있어야 합니다.
<tr> 태그는 테이블 바디 안에서 셀의 블록 즉 가로로 만들어진 칸 들을 tr갯수 만큼 아래로 줄을 생성 해주는 태그이며 하위 태그 인 <td> 태그의 시작 과 끝을 결정 해 주는 태그 입니다.
<tr> 열림 태그와 </tr> 닫힘 태그 한쌍 으로 이루어 집니다.
우선 테이블이 가지는 요소와 하위 태그들 만으로 만들어 보겠습니다.
<table>
테이블 만드는 방법 |
형태도 없는 내용 물만 출력 된다는 걸 알수 있겠습니다.
비록 테두리 선이 없지만 테이블 인 것 은 확실 합니다.
이번엔 테이블의 속성 으로 형태를 갖추기 위해 속성값 을 줘 봤습니다.
테이블 만드는 방법 |
그런데 왠지 아직도 좀 불완전해 보입니다.
그렇죠 콘텐츠가 한쪽 벽에 달라 붙어 있죠 그래서 이럴때는 스타일로 테이블을 정리 해 줘야 겠죠
여기에 쓰여지는 속성이 align 속성 입니다.
위치를 결정 하는 속성 엘리먼트align 에 center 라는 속성값을 주어 테이블을 이쁘게 꾸며 봅니다.
<table style="width :200px; height:100px; border:1px solid gray; text-align:center;">자 이렇게 스타일을 주어 내용물의 위치를 테이블의 중앙에 배치 하니까 훨씬 깔끔 하지요
테이블 만드는 방법 |
border-collapse: collapse; border-spacing: 0px; max-width: 100%; color: rgb(0, 0, 0);
font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif; font-size: 16px;
line-height: 32px; border: 1px solid red;">
<tbody style="box-sizing: border-box;">
< tr1 style="box-sizing: border-box;">
<td align="center" colspan="2" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid red; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">1</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid red; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">1-3</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid red; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">1-4</td>
</ tr >
< tr2 style="box-sizing: border-box;">
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid blue; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">2-1</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid blue; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">2-2</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid blue; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">2-3</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid blue; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">2-4</td>
</ tr >
< tr3 style="box-sizing: border-box;">
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid gray; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">3-1</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid gray; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">3-2</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid gray; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">3-3</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid gray; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">3-4</td>
</ tr >
< tr4 style="box-sizing: border-box;">
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid orange; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">4-1</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid orange; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">4-2</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid orange; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">4-3</td>
<td align="center" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 1px solid orange; line-height: 2; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif !important;">4-4</td>
</ tr >
</tbody>
</table>
1-1 1-2 | 1-3 | 1-4 | |
2-1 | 2-2 | 2-3 | 2-4 |
3-1 | 3-2 | 3-3 | 3-4 |
4-1 | 4-2 | 4-3 | 4-4 |
위의 경우 <!--<td>2-1</td>--> 이렇게 주석 처리를 하거나 주석 처리된 <!--<td>2-1</td>--> 테그들을 제거 해주면 되겠지요
아래는 결과 입니다.
1-1 2-1 |
1-2 | 1-3 | 1-4 |
2-2 | 2-3 | 2-4 | |
3-1 | 3-2 | 3-3 | 3-4 |
4-1 | 4-2 | 4-3 | 4-4 |
1-1 | 1-2 | 1-3 | 1-4 | ||
2-1 | 2-2 | 2-3 | 2-4 | ||
3-1 | 3-2 | 3-3 | 3-4 | ||
4-1 | 4-2 | 4-3 | 4-4 |
위의 결과는 바라는 모양이 아니 겠지요
아래는 결과 입니다.
1-1 2-1 |
1-2 1-3 1-4 | ||
2-2 | 2-3 | 2-4 | |
3-1 | 3-2 | 3-3 | 3-4 |
4-1 | 4-2 | 4-3 | 4-4 |
1-1 1-2 | 1-3 | 1-4 |
1-1 1-2 | 1-3 | 1-4 | |
2-1 | 2-2 | 2-3 | 2-4 |
1-1 | 1-2 | 1-3 | 1-4 |
2-1 | 2-2 | 2-3 | 2-4 |
3-1 | 3-2 | 3-3 | 3-4 |
1-1 | 1-2 | 1-3 | 1-4 |
2-1 | 2-2 | 2-3 | 2-4 |
3-1 | 3-2 | 3-3 | 3-4 |
4-1 | 4-2 | 4-3 | 4-4 |
<table>
테이블 만드는 방법 |
이번엔 테이블의 속성 태그로 형태를 갖추기 위해 속성값 을 줘 봤습니다.
테이블 만드는 방법 |
그런데 왠지 좀 불완전해 보입니다.
그렇죠 콘텐츠가 한쪽 벽에 달라 붙어 있죠 그래서 이럴때는 스타일로 테이블을 정리 해줘야 겠죠.여기에 쓰여지는 속성이 align 속성 태그 입니다.
위치를 결정 하는 속성 엘리먼트align 에 center 라는 속성값을 주어 테이블을 이쁘게 꾸며 봅니다.
자 이렇게 스타일을 주어 내용물의 위치를 테이블의 중앙에 배치 하니까 훨씬 깔끔 하지요
테이블 만드는 방법 |
td 태그로 여러개의 셀을 만들고 style 로 꾸미기
이번엔 가로 로 여러칸을 가진 테이블을 만들어 봅니다.
칸을 합칠 때 사용 하는 속성 엘리먼트 인 colspan과 rowspan에 값을 주어 셀을 합치고 정렬 해 주면 더 멋진 layout을 꾸밀수가 있겠 지요
여기서 colspan과 rowspan 의 합쳐 주는 속성은 실질적으로 셀을 합쳐 주는것이 아니고 합치고자 하는 셀 크기 만큼 키워 주는 것이 됩니다.
그래서 셀을 스판으로 합친 후에는 셀 들을 지워 줘야 원하는 표를 만들수가 있는 것이죠 테이블 에서 셀을 만드는 요소를 가진 태그는 바로<td > 태그 인데요 <td> 태그 가 가진 셀에 대해 합쳐 주고 정렬 하는 역할을 할수가 있는 것이 span 입니다.
말 그대로 span 스판은 스펀지처럼 달라 붙는 성질을 가지고 있지요 이렇게 <td> 태그 가 테이블을 분할 하는 것 처럼 보이지만 실제 로 분할 하는 것은 아니며 테이블 내에 그릇 처럼 셀을 생성 배치 한 것이죠
그럼 우선 합쳐야 할 대상인 그릇들이 있어야 겠지요 그래서 먼저 테이블과 그릇들을 만들어 줍니다.
1-1 | 1-2 | 1-3 | 1-4 |
2-1 | 2-2 | 2-3 | 2-4 |
3-1 | 3-2 | 3-3 | 3-4 |
4-1 | 4-2 | 4-3 | 4-4 |
이렇게 가로줄 4칸과 세로줄 4칸 총 16셀의 테이블을 만들 었네요 이제 가로셀1-1과1-2를 colspan 해 보도록 합니다.
실질적으로 병합 하는것이 아니고 하나의 셀만큼의 면적이 커지는 효과만 있는 것이죠
그래서 스판 하게 되면 스판 당한 만큼 셀이 늘어 나는데요 그렇기 때문에 스판후에는<td> 태그 하나를 제거 해 줘야 하는 것이죠
자 그럼 가로 셀의 합침 속성을 가진 colspan ="2"을 사용 해 스판 해 봅니다.
이런 모습이 되겠죠
1-1 | 1-2 | 1-3 | 1-4 | |
2-1 | 2-2 | 2-3 | 2-4 | |
3-1 | 3-2 | 3-3 | 3-4 | |
4-1 | 4-2 | 4-3 | 4-4 |
잠깐 여기서 현재 티스토리의 에디터에서 만든 테이블은 브라우져에서 외곽 라인은 보이지 않습니다.
그것을 염두해두고 테이블을 만들어야 겠지요
이런 모습을 원 한게 아니죠 그래서 늘어난 셀에 해당 하는 <td> 태그 하나를 제거 해 줘야 겠죠 아래는 정상적인 테이블의 모습입니다.1 | 1-3 | 1-4 | |
2-1 | 2-2 | 2-3 | 2-4 |
3-1 | 3-2 | 3-3 | 3-4 |
4-1 | 4-2 | 4-3 | 4-4 |
이번에는 rowspan="3"을 코딩 해 세로줄 2-1부터4-1까지 병합 해봅니다.
1 | 1-3 | 1-4 | |
2-1 | 2-2 | 2-3 | 2-4 |
3-1 | 3-2 | 3-3 | 3-4 |
4-1 | 4-2 | 4-3 | 4-4 |
이런 모습이 됩니다 역시 원하는 모습이 아니죠
이번에도 역시 스판한 개수 만큼 의 셀을 제거 해 줍니다.이때 자신의 가로줄 에 있는 td갯수는 그대로 두고 아래의 각 tr 내의 td갯수를 하나씩 제거 해 주면 되겠죠
즉 이런식의 코딩이 되겠지요
이제 정상적인 모습이 되었 네요
1번 | 1-3 | 1-4 | |
2번 | 2-2 | 2-3 | 2-4 |
3-2 | 3-3 | 3-4 | |
4-2 | 4-3 | 4-4 |
이렇게 <td>태그에 스타일을 주어 셀 테두리 컬러와 셀을 가로 와 세로 로 합쳐 보았 습니다.
이번 에는 marquee태그로 테이블 셀 안에서 글 자가 움직이는 모습을 만들어 봤 습니다.
오른쪽 | |
왼쪽 |
<table width="auto" height="70px" cellpadding="5" cellspacing="15" border="1" align="center" style="border:1px red solid;">
<tbody >
<tr>
<td style="border:1px blue solid;">
오른쪽
</td>
<td style="border:1px gray solid;">
<marquee onmouseover="stop();" onmouseout="start();" scrollamount="2" direction="right" border="0">
<valigin:middle;>
<font face="서울꿈" size="4" color="blue">
</font>
</valigin:middle;>
</marquee>
</td>
</tr>
<tr>
<td style="border:1px gray solid;">
왼쪽
</td>
<td style="border:1px gray solid;">
<marquee onmouseover="stop();" onmouseout="start();" scrollamount="2" direction="lift" border="0">
<valigin:middle;>
<font face="서울꿈" size="4" color="red">
</font>
</valigin:middle;>
</marquee>
</td>
</tr>
</tbody>
</table>
팁: 위의 태그 들은 제대로 열림 과 닫힘이 잘 이루어져 있음에도 문서 상에는 텍스트 형식으로 나열이 되어 있습니다.
이것은 에스케이프 라는 부호로 꾸몃기 때문 입니다.
↓
오른쪽 | |
왕복 | |
왼쪽 |
네이버 에서 구현된 모습
티스토리에서 구현된 모습