본문 바로가기
HTML

H3. 표, 하이퍼링크, 앵커, 파일다운로드 링크, 인라인프레임

by LWM 2020. 3. 5.
반응형

1.표만들기 (<table></table>태그)


개발자에게 있어서 가장 중요한 태그는 대표적으로 무엇이 있을까요? 물론 웹페이지를 구성하는 모든 태그들이 개발자에게 중요하지만 그 중에서도 핵심이 되는 태그는 <table>태그와 <form>태그입니다.
표는 정형표와 비정형표로 나뉘며 특히 비정형표는 개발자가 어떻게 쓰느냐에 따라 다양한 형태를 갖춥니다.


▶표를구성하는 태그

<table> : 표 전체를 담는 컨테이너

<caption> : 표 제목

<thead> : 헤딩 셀 그룹

<tfoot> : 바닥 셀 그룹

<tbody> :  데이터 셀 그룹

<tr> : 행. 여러개의 <td>, <th> 포함

<th> : 제목(헤딩) 셀

<td> : 데이터 셀


▶예시 (정형표)

▲코딩


▲출력 결과


▶예시 (비정형표)

▲코딩

위 이미지는 <th>태그에 rowspan속성을 주어 열을 합친것이다. colspan은 행을 합치는 속성이다.


▲출력 결과


※참고

표를 만들때 <caption>, <thead>, <tbody>, <tfoot> 태그를 사용하지 않고 <tr>만 표를 만드는 경우가 있는데 이것은 바람직하지 않다. 이유는 검색 엔진은 표의 의미(시맨틱)를 파악하기 위해 <caption>, <thead>, <tbody>, <tfoot>태그들을 찾기 때문이다. 또한 <tfoot>은 <tbody>전에 나오는 것이 좋다.

또한 테이블에서 <width>, <height>를 주어 테이블의 넓이와 높이를 설정할때 <table>태그 내의 반복문에는 따로 줄필요가 없다.


이미지를 넣고 싶을 때는 <tr>태그 내에서 <td>태그와 <img>태그를 활용한다. 
예를 들면 <td><imgsrc="media/apple.jpg"></td> 이런 형식이 되겠다.


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


2.하이퍼링크 만들기 (<a></a>태그)

하이퍼링크는 <a>태그의 href 속성으로 만들며 href속성 말고도 target, download 속성이 있다


href : 이동할 HTML 페이지의 URL 혹은 HTML 페이지 내 앵커 이름
target : 링크에 연결된 HTML 페이지가 출력될 윈도우 이름 지정
download : 링크가 클릭되면 href에 지정된 파일이 다운로드 됨


▶<a href> 예시 (같은 사이트의 HTML페이지를 연결하는 경우)

▲코딩

같은 사이트를 연결하는 경우 HTML파일의 경로명만 지정하면 된다. 단, 같은 사이트에 사진이미지가 있는 html웹페이지가 있어야 한다.


▲출력 결과





▶<a href> 예시 (다른 사이트의 HTML페이지를 연결하는 경우)

▲코딩

target속성은 밑에서 다루기로한다.


▲출력 결과



▶<a href> 예시 (이미지에 하리퍼링크 만들기)

▲코딩


▲출력 결과

src값은 이미지가 나에게 있을 때 활성화되고 없다면 alt값이 활성화된다. 때문에 위 이미지를 보면 나에게 네이버사진이 없는 것을 알 수 있다.


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


3.id 속성으로 앵커 만들기 (<a></a>태그)


긴 내용을 가진 웹 페이지를 읽으려고 할때 사용자는 스크린을 업다운하는 불편함이 있다. 이런 불편함을 해소하고자 문서 내 특정 위치로 이동하는 링크를 만들수 있도록 하였는데, 이때 문서의 특정 위치를 앵커라고한다.

앵커는 어떤 태그든 그 위치에 만들어지고 앵커를 만들기 위해선 태그의 id속성에 앵커이름을 지정하고 앵커에 연결하는 링크를 만들면 된다.


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


4.파일 다운로드 링크 만들기,<a>의 download 속성


<a>태그의 download속성은 이미지, PDF, MP3, HTML파일, HWP파일, PPT파일 등 모든 파일을 다운로드 할 수 있는 링크를 만든다. 이때 다운로드 할 파일명은 href속성에 지정한다.


▶예시

▲코딩

첫문장의 download속성에 download값을 주면 반복문장에서는 값을 생략가능하다.


▲출력 결과



※참고
다른 웹 브라우저에서는 약간 다르게 처리되므로 실행해보는 것을 권장한다.


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


5.인라인프레임 (<iframe></iframe>태그)


<iframe>태그를 사용하면 현재 HTML페이지 내에 내장 윈도우를 만들고 다른 HTML페이지를 출력할 수 있다.
<iframe>태그에 의해 만들어지는 윈도우를 인라인 프레임이라고 부른다.


<iframe> 속성들

src : 출력할 웹 페이지의 URL 주소
srcdoc : 직접 HTML 태그로 작성된 텍스트로서 출력될 내용
name : 프레임 윈도우의 이름. 다른 웹 페이지에서 target속성 값으로 사용
width : 프레임 폭. 픽셀 값. 디폴트 300
height : 프레임의 높이. 픽셀 값. 디폴트 150


▶예시1 (2개의 인라인 프레임을 가진 웹 페이지 출력하기)

▲코딩

위와같은 코딩으로 두개의 iframe을 다른 HTML페이지에 출력할수 있는데, 이때 2개의 iframe.html 문서가 있어야하며 없을경우 </iframe>앞에 텍스트가 대신 출력된다.


▲출력 결과 (2개의 iframe.html문서가 있는경우)



※참고

▶<iframe>으로 로드 되지 않는 사이트가 있다.

아마존, 네이버 등 대부분의 포탈 사이트를 <iframe>태그로는 연결할 수 없도록 하고있다. 이들 사이트는 Clickjacking이라고 부르는 웹 침입을 막기 위해 인라인 프레임에 출력되기를 거부하기 때문이다.

▶<frameset>과 <frame>을 사용하지 말기 바란다.

예전에 많이 사용해왔던 <frameset>과 <frame>은 문서와 웹 주소 사이의 불일치, 잘못된 북마킹, 프린트나 검색 시의 불완전성 등으로 인해 HTML5에서 완전히 제외되었으므로 더이상 사용하지않는다.



시2 (2개의 인라인 프레임을 가진 웹 페이지에 2개의 신문 사이트 출력하기)

▲코딩



※<iframe>사용 시 주의 사항

① <iframe>태그는 <body>태그 내에서만 사용된다.
② src속성이 생략되면 브라우저에 <iframe>영역이 만들어지기는 하지만 빈 상태로 존재한다.
③ 인라인 프레임이 출력할 HTML텍스트를 srcdoc속성에 직접 작성할 수 있다. srcdoc가 있으면 src속성은 무시된다.
④ 인라인 프레임 안에 또 다른 인라인 프레임을 중첩하여 만들 수 있다.


※인라인 프레임 추가설명

인라인 프레임은 프레임 윈도우 혹은 윈도우라고 부르기도한다. 인라인 프레임을 포함하여 모든 윈도우에는 이름을 붙이고 이름으로 접근한다. 이때 인라인 프레임의 이름은 name속성을 사용하여 붙인다. 

브라우저 윈도우와 그속에 삽입된 인라인 프레임 윈도우 사이에는 부모자식 관계가 형성된다.
인라인 프레임이 다시 인라인 프레임을 포함하면 이들 사이 역시 부모자식 관계가 형성된다.
계층관계를 지칭하는 용어와 사례는 다음과 같다.
①parent 윈도우 - 부모 윈도우
②child 윈도우 - 자식 윈도우
③top 윈도우 - 최상위 브라우저 윈도우


※target속성에 문서를 출력할 윈도우 지정

target속성은 <base>, <a>, <area>, <form>태그에서 HTML페이지를 출력할 윈도우(인라인 프레임 포함)를 지정하는데 사용된다. target속성의 값으로 다음 5가지 종류를 지정할 수 있다.

①_blank : 새로운 브라우저 윈도우(탭) 생성(열기)
②_self : 현재 윈도우
③_parent : 부모 윈도우
④_top : 최상위 브라우저 윈도우
⑤윈도우 이름 : 해당 이름의 윈도우


반응형