![]() |
Homepage and Content Authoring- HTML 문서를 작성해봅시다 - |
WWW이 알려지고 확산되면서 기업, 학교, 정부 기관은 물론이고 각 개인들도 자신의 홈페이지를 만들어서 각자가 소유한 많은 정보들을 제공하고 있다. 결국 WWW의 등장은 보다 많은 정보들을 인터넷이라는 세계에 담을 수 있는 수단을 제시한 것이었다. 그렇다면 홈페이지는 어떻게 만드는가? 홈페이지는 HTML이라는 언어를 이용하여 텍스트외 이미지, 동영상, 사운드 파일 등을 추가한 하이퍼텍스트다. 그렇다면 HTML은 무엇인지 부터 알아보자.
HTML(HyperText Markup Language) 문서는 ASCII 문자로 되어 있는 일반 텍스트 형태로 여러 플랫폼에 무관하게 WWW 문서의 다양한 요소들을 정의할 수 있도록 한 것이며, 웹이라는 문서 기반 구조에서 문서들을 기술하는 데 사용되는 언어이다. 이러한 HTML은 국제 표준 ISO8879:1986 SGML(Standard Generalized Markup Language)의 응용 프로그램으로 정의되어 있다.
문자의 특성을 정의하기 위해 영문으로 된 마크업 태그(Markup tag)를 사용한다. 이것은 마크업 언어의 기본 특징이다.
태그는 영문 대소문자 구별 없이 사용된다. 그러므로 <TITLE>, <Title>, <title>이 모두 같은 태그로 인식된다. 물론 예외로 사용되는 태그도 있다.
태그의 형식은 다음과 같으며, 일반적으로 시작태그와 마감태그가 한 쌍을 이루어 사용된다.
마감태그는 태그이름앞에 '/'가 붙는다는 것을 제외하고는 시작태그와 같다. 그러나 모든 웹브라우저가 이러한 태그들은 모두 지원하는 것은 아니다. 임의의 브라우저가 태그를 인식하지 못했을 경우에는 태그가 없는 것으로 무시해버린다. 한 가지 주의할 점은 <와 태그이름 사이에 빈칸이 들어가서는 안 된다.
둘이상의 빈칸이나 줄바꿈을 인식하지 못한다. 그래서 줄바꿈이나 문단나누기를 실행하고자 할 때는 따로 지정되어 있는 줄바꾸기와 문단나누기 태그를 사용한다.
텍스트로 작성되어 있으므로 문서의 크기가 작고, 인터넷상에서 빠르게 전송된다. 또한 사용하는 컴퓨터의 기종에 독립적이라서 어느 컴퓨터에서 작성한 문서라도 HTML을 번역하는 웹브라우저만 있으면 사용할 수 있다. 이 항목은 HTML의 장점이기도 하다.
HTML 문서는 파일 확장자가 .html 또는 .htm으로 사용되며, 하나의 문서는 <HTML> 시작태그와 </HTML> 마감태그로 시작과 끝을 표시한다. 그리고 문서 내부에서 HEAD 부분과 BODY 부분으로 나뉘는 구조로 되어 있다.
HTML은 이렇게 이루어진다?본 예는 HTML의 기본 골격만을 보여주는 간단한
예를 든 것이다. 그럼 지금부터 차근차근 공부해보자. |
어떤 웹브라우저들은 위의 기본적인 태그들을 제대로 사용하지 않아도 제대로 인식하여 보여주는가하면 그렇지 못한 웹브라우저들도 있다. 그러므로 기본적인 태그들은 반드시 올바로 사용하도록 하자. [표 1]의 예를 웹브라우저에서 보면 [표 2]와 같이 나타난다.
HTML은 이렇게 이루어진다?본 예는 HTML의 기본 골격만을 보여주는 간단한
예를 든 것이다. 그럼 지금부터 차근차근 공부해보자. |
문서의 제목을 지정하는 태그이다. 지정된 제목은 문서내용에 보이지 않고 일반적으로 웹브라우저 상단의 타이틀바(bar)에 표시되어 다른 창과의 구분에도 이용된다. 그 외에도 웹브라우저에서의 history 리스트, hotlist나 북마크에서 사용되므로 간결하면서도 내용을 잘 나타낼 수 있도록 정하여야 한다.
<TITLE> ... </TITLE>태그 안에는 앵커(Anchor)나 다른 HTML의 태그들이 일체 사용되지 않으며 하나의 문서에는 하나의 제목만이 유효하다.
<BASE> 태그는 HTML 파일이 저장되어 있는 위치를 나타내며 HEAD 태그 안에서만 사용할 수 있다. 본 태그는 다음과 같이 사용된다.
마감태그의 생략이 가능하며, HTML 문서 안에 있는 모든 URL은 이 BASE태그에서 지정된 URL로부터 상대적인 경로를 가지게 된다.
문서와 다른 오브젝트간의 관계를 나타내는데 사용된다. 속성에는 REL, TYPE, HREF, TITLE 등이 있다. 마감태그 없이 사용가능하며, 대부분 저장에 대한 내용이나 관련된 용어집 다른 버전 문서를 나타낸다.
다음의 예는 LINK태그를 이용해서 외부 Style Sheet를 지정한 것으로 REL은 본 문서와의 관계를 나타낸다. 결국 지정된 문서는 현재 문서의 Style Sheet라는 것을 의미한다. TYPE은 문서의 MIME 형태를 지정한 것으로 아래의 예에서는 Style Sheet를 말한다. HREF는 지정된 문서의 URL을 지정하고 TITLE은 Style Sheet의 이름을 나타낸다.
HTML문서 안에서 이 문서에 대한 정보를 나타내는 데 사용되며 여기에서 정의된 정보는 브라우저와 서버 등에서 사용된다.
위의 예에서 살펴보면, NAME은 메타 정보의 이름을 나타내며, CONTENT는 실제로 메타 정보를 지정하는 부분이다.
실제로 문서의 내용이 포함되는 부분으로 다음과 같은 태그들이 사용된다.
HTML문서에는 여섯 단계의 헤더를 정의할 수 있다. 1부터 6까지의 레벨이 사용되며 헤더 문자는 다른 글자에 비해 보다 크고 굵게 쓰여진다. 1이 가장 큰 크기로 사용되며 사용법과 크기는 [표 3]과 같다.
헤더를 사용할 때는 레벨 순서대로 사용하는 것이 좋다.
| 사용법 |
결과 |
| <H1>H1의 크기<H1> | H1의 크기 |
| <H2>H2의 크기<H2> | H2의 크기 |
| <H3>H3의 크기<H3> | H3의 크기 |
| <H4>H4의 크기<H4> | H4의 크기 |
| <H5>H5의 크기<H5> | H5의 크기 |
| <H6>H6의 크기<H6> | H6의 크기 |
앞서 기술한 바와 같이 HTML 문서에서는 줄바꿈과 공란이 자동인식되지 않으므로 이를 인식할 수 있는 다음과 같은 태그들를 사용해야 한다.
(1) <P>줄바꾸기를 실행시켜주는 태그이다. 사용법은 [표 4], [표 5] 와 같다. 결과에서 보는 바와 같이 <P>가 다시 나올 때까지 하나의 문단으로 처리한다.
|
이것은 줄바꾸기를 실행시켜주는 태그이다. 바로 요기처럼!. |
|
이것은 줄바꾸기를 실행시켜주는 태그이다. 바로 요기처럼!. |
<P> ... </P>에서 </P>는 생략 가능하며, ALIGN 속성이 사용될 수 있다. 속성값으로는 CENTER, RIGHT, LEFT가 사용된다.
| <P ALIGN=LEFT|CENTER|RIGHT> This is a centered paragraph. | |
| LEFT | This is a centered paragraph. |
| CENTER | This is a centered paragraph. |
| RIGHT | This is a centered paragraph. |
| [ 예 ] |
본 예는 HTML에서 사용되는 문단 태그들을
차이점을 살펴보시고 적절하게 사용하십시오. <마감태그> |
| <PRE> |
본 예는?
|
| <LISTING> |
본 예는?
본 예는 HTML에서 사용되는 문단 태그들을
차이점을 살펴보시고 적절하게 사용하십시오. |
| <XMP> |
본 예는?
본 예는 HTML에서 사용되는 문단 태그들을
차이점을 살펴보시고 적절하게 사용하십시오. |
| <BLOCKQUOTE> |
본 예는?
|
(2) <PRE> ... </PRE>
'Preformatted'의 약자로 공백과 빈줄, 탭을 인식하여 문서를 있는 그대로 보여준다. 글자체는 타이프라이트체로 보이고, 특징으로는 내부의 태그들을 그대로 인식한다는 것이다. 프로그램 소스 내용을 보여줄 때 유용하게 쓸 수 있다. [표 7]에서 P, BR 태그와 더불어서 줄바꿈을 인식한 결과를 볼 수 있다.
WIDTH라는 속성을 이용하여 한 라인의 최대 문자수를 지정할 수 있다.
(3) <LISTING> .. </LISTING>그리고 글자체를 다르게 보여준다는 특징이 있으며, 내부의 태그들은 무시하고 탭과 줄바꿈은 그대로 인식한다. 그러나 넷스케이프에서는 태그들을 인식한다. 즉, [표 7]의 결과를 넷스케이프에서 보면, P와 BR 태그를 인식하여 보여준다.
(4) <XMP> .. </XMP><PRE>와 비슷하나 내부의 태그들을 무시한다는 것이 다르다. 그러므로 XMP는 HTML 문서의 소스 내용을 그대로 보여주고 싶을 때 유용하게 사용할 수 있다.
(5) <BLOCKQUOTE> ... </BLOCKQUOTE>인용구를 삽입할 때사용하는 태그로 대부분의 브라우저들은 들여쓰기로 구분해준다. BLOCKUOTE는 줄바꿈과 탭을 무시한다.
위의 <PRE>부터 <BLOCKQUOTE>까지의 태그들의 예를 살펴보면 [표 7]과 같다. <시작태그>와 <마감태그>에 각각의 태그를 넣었을 때의 결과이다.
(6) <ADDRESS> ... </ADDRESS>
일반적으로 문서의 마지막 수정일, 저자의 전자우편주소등 문서의 저자에 관한 사항을 기술하는데 사용되며 보통 문서의 처음 또는 마지막에 쓰인다.
| [ 예 ] |
Last-Modified : Sunday, 29-Sep-96 23:11:17 KDT |
| [ 결과 ] |
E-mail : eakim@cs.sungshin.ac.kr Last-Modified : Sunday, 29-Sep-96 23:11:17 KDT |
한 가지 유의할 점은 이 태그는 우편주소를 쓰고자 할 때 사용하는 태그가 아니라는 것이며, 우편주소를 쓸 때는 다음의 <BR> 태그를 사용한다.
(7) <BR> ... </BR>이 태그는 줄간격없이 줄나누기를 해준다. 이를 이용하여 우편주소를 나타낼 수 있다.
| [ 예 ] |
성신여자대학교 전산원 김 은 아 |
| [ 결과 ] |
서울특별시 성북구 동선동 3가 249-1 성신여자대학교 전산원 김 은 아 |
(8) <CENTER> ... </CENTER>
문단을 가운데 정열시켜 주는 태그이다.
| [ 예 ] |
|
| [ 결과 ] |
(9) <!-- ... -->
문서의 코멘트를 위한 태그이다. 이 태그사이의 내용은 브라우저에는 보이지 않는다.
(10) Horizontal Rules<HR> 태그를 이용하여 브라우저 윈도의 크기만큼의 가로줄을 그을 수 있다. 이것은보통 문서를 구분할 때 사용되며, SIZE와 WIDTH 속성을 이용하여 각각 선의 길이 및 두께를 지정할 수 있다. 값으로는 픽셀단위값을 사용하나 WIDTH의 경우에는 백분율을 이용하여 길이를 지정할 수 있다.
| [ 예 ] |
|
| [결과 ] | |
또 다른 속성으로는 ALIGN이 있는데 RIGHT, CENTER, LEFT값을 이용해서 선을 수평정열시킬 수 있다. 기본값은 CENTER이다. 선의 모양은 그림자가 있는 입체형으로 보이는데 NOSHADE 속성을 지정해주면 그림자가 없는 형태로 보인다.
HTML에서 글자모양을 지정하는 태그에는 여러 가지가 있는데 크게 논리적 형태와 물리적 형태로 나뉜다. 두 가지 형태는 같은 효과를 보여주지만, 논리적 형태는 정보의 형태 정의에 쓰이고, 물리적 형태는 문자의 모양에 대한 정의를 지정한다.
각 글자모양은 브라우저마다 지원하지 못하는 경우도 있으므로 항상 원하는 글자모양을 볼 수 있는 것은 아니다. 이런 경우에 물리적 형태로 지정되어 있는 경우는 브라우저가 태그를 무시해버리지만, 논리적 형태인 경우에는 그 쓰임에 따라 지정된 글자모양으로 보여주므로, 물리적 형태보다는 논리적 형태의 태그를 사용하는 것이 좋다.
각 태그들은 다음과 같다.
(1) 논리적 형태
| <DFN> ... </DFN> | 단어 정의를 위한 태그이며 일반적으로
이텔릭체로 나타난다. (예, NCSA Mosaic is a World Wide Web browser.) |
| <EM> ... </EM> | 강조를 위한 태그로 일반적으로 이텔릭체로 나타난다. (예, Consultants cannot reset your password unless you call the help line.) |
| <CITE> ... </CITE> | 책, 필름 등의 제목을 나타내기 위한 태그로 일반적으로
이텔릭체로 나타난다. (예, A Beginner's Guide to HTML) |
| <CODE> ... </CODE> | 컴퓨터 코드를 위한 태그로 타자체로 나타난다. (예, The <stdio.h> header file)
|
| <KBD> ... </KBD> | 키보드 입력을 나타내며, 일반적으로 타자체로 나타난다. (예, Enter passwd to change your password.) |
| <SAMP> ... </SAMP> | 일련의 literal 문자를 위한 태그로 타자체로 나타난다. (예, Segmentation fault: Core dumped.) |
| <STRONG> ... </STRONG> | 강한 강조를 위한 태그로 볼드체로 나타난다. (예, NOTE: Always check your links.) |
| <VAR> ... </VAR> | 변수를 타나낼 때 사용하는 태그로 이텔릭체로 나타난다. (예, rm filename deletes the file.) |
(2) 물리적 형태
| <B> | 볼드체 | 볼드체 |
| <I> ... </I> | 이텔릭체 | 이탤릭체 |
| <TT> ... </TT> | 타자체 | 타자체 |
| <BIG> ... </BIG> | 큰 글자 | 큰 글자 |
| <SMALL> ... </SMALL> | 작은 글자 | 작은 글자 |
| <BLINK> ... </BLINK> | 깜빡이는 글자 | (넷스케이프에서만 가능) |
| <SUB> ... </SUB> | 아랫첨자 | log2 = 0.142 |
| <SUP> ... </SUP> | 윗첨자 | 23 = 8 | <U> ... </U> | 밑줄 글씨 | 밑줄 글씨 |
글자 크기를 지정하는 태그에는 <Hn> 태그외에도 FONT와 BASEFONT태그를 이용할 수 있다.
FONT를 이용하면 </FONT>가 나오기 이전까지 사이에 있는 모든 글자들의 크기와 색을 조절할 수 있다. 사용되는 속성은 SIZE와 COLOR가 있다. BASEFONT는 전체 문서에 대한 기본 폰트를 나타내고 <FONT> 는 이러한 기본 폰트에 대한 상대적인 폰트를 지정하게 된다.
| [ 예 ] |
|
| [ 결과 ] |
HTML에서는 <, >, &가 특별한 의미를 가지고 있기 때문에 단순히 기호로써 이를 사용할 수 없다. 각 기호들은 각각 태그의 시작과 끝, 그리고 특수기호의 처음을 뜻한다. 그러므로 이 문자들을 사용하려면 다음과 같이 사용해야 한다.
| < | < |
| > | > |
| & | & |
| " | " |
이 가운데서 '"'는 '"' 그대로 사용해도 된다. 그 외로 추가적인 특수문자의 예가 [표 8]에 있다. 예중에서 넷스케이프에서는 ©와 만 제대로 표현된다.
[표 8] 특수문자 표기법 (MS Explorer에서의 결과)
보다 자세한 정보를 원한다면 다음의 문서를 참조하기 바란다.
http://www.sandia.gov/sci_compute/iso_symbol.html
순서 리스트는 각 항목들을 순서를 두어 나열하는 것으로 다음과 같이 <OL> ... </OL> 태그 사이에 <LI>와 더불어 항목들을 나열한다.
| [ 예 ] |
|
| [ 결과 ] |
|
일반적으로 순서 리스트는 예에서 보듯이 각 항목앞에 숫자가 붙는데 이 외의 다른 문자를 이용하려면 TYPE과 START라는 속성을 이용한다.
| [ 예 ] |
|
| [ 결과 ] |
|
TYPE의 종류는 다음과 같다.
| TYPE=A | 알파벳 대문자. | 예) A, B, C, ... |
| TYPE=a | 알파벳 소문자 | 예) a, b, c, ... |
| TYPE=I | 큰 로마숫자 | 예) I, II, III, ... |
| TYPE=i | 작은 로마숫자 | 예) i, ii, iii, ... |
| TYPE=1 | 아라비아 숫자 | 예) 1, 2, 3, ... |
각 항목에 대해서 독립적인 번호를 부여하고 싶다면, <LI VALUE=3>와 같은 방식으로 사용한다.
무순서 리스트는 <OL>가 <UL>로 바뀌었다는 것을 제외하면 순서 리스트와 형식은 같다.
| [ 예 ] |
|
| [ 결과 ] |
|
숫자대신 도형의 구분점이 나타나는데 이것 역시 다음과 같이 재정의할 수 있다. 그러나 넷스케이프에서만 가능하다.
| TYPE=DISC |
|
| TYPE=CIRCLE |
|
| TYPE=SQUARE |
|
Definition Lists의 약자인 <DL>를 이용하여 어떤 단어나 구절에 대한 정의를 위한 리스트를 표현할 수 있다. <DL>과 함께 <DT>와 <DD>가 사용되는데, <DT>는 정의할 항목 즉 제목을 위해 쓰이고 <DD>는 이에 대한 설명으로 쓰인다. 예는 다음과 같다.
| [ 예 ] |
|
| [ 결과 ] |
|
<DL>와 <DL>에서도 <P>나 <BR>를 이용하여 여러 개의 문단을 포함시킬 수 있으며, COMPACT이라는 것을 사용하여 리스트를 짧게 나타낼 수 있다.
| [ 예 ] |
|
| [ 결과 ] | |
| |
무순서 리스트와 비슷하나 보통 각 항목들이 24자이내라는 점에서 다르다. 즉, 길이가 긴 리스트에는 적합하지 않다. 보통 디렉토리 이름이나 파일이름이 20자를 넘지 않기 때문에 이런 제약이 있는 듯하다.
| [ 예 ] |
|
| [ 결과 ] |
|
무순서 리스트와 같지만 줄간격이 보다 좁게 표현한다.
| [ 예 ] |
|
| [ 결과 ] |
| [ 예 ] |
|
리스트 태그들은 앞의 예와 같이 중첩하여 사용가능하다. 결과는 다음과 같다.
| [ 결과 ] |
|
HTML문서의 가장 큰 장점은 다른 문단, 단어, 그림들을 다른 문서나 그림으로 연결할 수 있다는 것이다. 바로 이 장점을 만들어주는 것이 앵커이다. 이 연결을 위하여 NAME이나 HREF와 같은 속성이 지정된다.
| [ 예 ] |
|
| [ 결과 ] | Bluebird |
HREF="..." 부분에는 링크될 파일이름과 경로, 특정부분이 표시되는 곳으로 위의 예에서는 http://bluebird.sungshin.ac.kr/~eakim/에 있는 bluebird.html이라는 파일을 지정하고 있다. Bluebird라는 단어가 적힌 자리는 하이퍼링크될 단어, 문단, 그림 등을 지정하는 곳으로 결국 위의 예에서는 Bluebird라는 단어를 클릭하면 이에 지정된 bluebird.html 문서를 보여주게 된다.
또한 동일 문서 또는 다른 문서의 특정부분으로도 링크할 수 있다. 이때는 해당 하이퍼링크를 선택했을 경우 전체 문서의 제일 윗부분이 브라우저에 보이는 것이 아니라 해당 특정 부분이 웹브라우저의 첫 화면에 보인다. 여기에는 NAME이라는 태그가 이용된다.
아래의 예에서는 Home.htm 파일에서 '하이퍼링크'란 단어를 선택했을 때, html.htm 문서 속에서 'NAME=hyperlink'이라고 지정되어 있는 HyperLink 부분이 화면의 첫 부분으로 보인다는 것이다. 만약 '#hyperlink' 표시가 없다면, html.htm 문서의 제일 상단이 화면의 첫 부분으로 표시될 것이다.
동일 문서내에서의 특정위치를 지정하려면 다음과 같이 파일의 위치와 이름을 생략할 수 있다.
그 외로 지정할 수 있는 앵커로는 서치 서버로 서치 구문을 보내는 경우가 있다. 다음은 단어기반 서치엔진으로 보내는 경우인데, 여러 개의 키워드들을 +기호로 연결시킨다.
파일의 위치를 지정할 때는 절대경로와 상태경로로 지정할 수 있다.
절대경로 :
상대경로:
상대경로 지정은 BASE 태그에서 지정되어 있는 파일의 위치를 기준으로 하여 상대적인 위치를 지정하는 것이다. BASE 태그가 지정되어 있지 않은 경우에는 현재 사용되는 문서의 위치를 기준으로 하여 상대적인 위치가 지정된다. 위의 예에서 현재 사용되고 있는 파일이 http://bluebird.sungshin.ac.kr/~eakim/Home.html이라고 한다면, html.html문서는 Home.html과 같은 레벨에 있는 Mydoc이라는 디렉토리내에 있다는 것이므로 굳이 절대경로를 써주지 않아도 된다.
상대경로는 보다 적은 글자로 위치표시가 가능하고 문서 그룹을 다른 곳으로 옮길 때도 유용하게 사용될 수 있는 장점이 있으나 직접 관련되지 않은 문서를 링크할 때는 절대경로를 지정해주는 것이 좋다.
파일의 위치를 지정해주는 자리에는 URL을 지정해줄 수 있다. URL은 Uniform Resource Locators의 약자로 WWW에서 임의 서버상의 문서의 위치를 지정할 수 있도록 사용하는 표기법이다. 구문은 다음과 같다.
|
scheme://host.domain[:port]/path/filename |
|
| 지역 시스템에서의 파일 | file:///C|/usr/eakim/PublicHTML/Doc/html.htm |
| anonymous ftp 서버상의 파일 | ftp://FTP.kaist.ac.kr/ |
| WWW 서버상의 파일 | http://bluebird.sungshin.ac.kr/ |
| Gopher 서버상의 파일 | gopher://gopher.krnic.nm.kr |
| Usenet 뉴스그룹 | news:han.comp.www |
| 뉴스서버를 지정 | nntp://news.nowcom.co.kr |
| Telnet 기반의 서비스로 연결 | telnet://bluebird.sungshin.a.ckr/ |
| Mail 보내기 | mailto:eakim@cs.sungshin.ac.kr |
모자익에서는 다른 ftp 사이트 연결이 가능한데 이 때는 ftp://eakim@bluebird.sungshin.ac.kr과 같은 형태로 지정하고 모자익은 화면에서 패스워드를 물어본다. 패스워드를 미리 입력시켜줄 때는 사용자 ID다음에 패스워드를 써준다.
대부분의 웹브라우저에서는 X Bitmap, GIF, JPEG형식의 이미지들을 텍스트와 같이 in-line 이미지로 보여준다. 넷스케이프와 모자익은 GIF와 JPEG만을 지원하며 Internet Explorer에서는 PNG파일과 BMP파일도 지원한다.
문서에 이미지를 추가하는 방법은 IMG라는 태그로 시작하고 SRC에 파일의 위치를 포함한 이름을 지정하는 것이다.
각 이미지들은 웹브라우저에서 처리되어 보여지는 시간을 요구하게 된다. 그러므로 이미지를 삽입할 때는 크기와 소요시간을 잘 고려해야 한다.
HEIGHT와 WIDTH라는 속성을 이용하여 삽입되는 이미지의 크기를 지정할 수 있다. 이미지 크기는 픽셀단위로 지정되며 각각 높이와 폭을 지정한다. 여기서 지정값이 실제 이미지의 크기와 같을 경우 화면에 출력되는 속도가 빨라진다.
[ 예 ]
| 백합 | |
| 장미 | |
| 채송화 | |
| 튤립 |
[그림 1] 이미지를 이용한 그래프 작성 예
이미지의 정열을 지정은 ALIGN이라는 속성을 이용하며
값으로는 다음과 같은 것이 사용된다.
기본 값은 이렇게
이미지의 아랫부분이
택스트와 일렬이 되도록 정열되는 것이다.
ALIGN : left|right|top|texttop|middle|absmiddle|baseline|bottom|absbottom
위의 예에서 ALIGN 속성의 값을 지정한 결과는 다음과 같다.
첫 번째 예는
ALIGN=TOP으로 지정된 경우
두번째 예는
ALIGN=MIDDLE로 지정된 경우
세번째 예는
ALIGN=BOTTOM으로 지정된 경우
다섯번째는 ALIGN=RIGHT라고 지정한 경우이다. 그림이 어느 쪽에
있는지 눈여겨 보자. 그리고 그림과 텍스트 사이의 위치, 다음 문단과의
위치도 눈여겨 보자.
마지막예는 ALIGN=LEFT인 경우이다. 결국 그림이 같은 문단내의
텍스트의 어느 쪽으로 위치시킬 것인가는 지정하는 것이다.
위의 예 결과를 보면, left와 right는 웹 페이지에 대한 정렬이며, 나머지는 현재 이미지와 같은 라인에 있는 다른 문자를 비롯하여 표현되는 것에 대한 정열이다. 물론 <P>태그를 이용한 정열도 가능하다.
lynx와 같은 텍스트기반 웹브라우저를 사용하거나 이미지 로딩시간이 많이 걸려 텍스트만을 로딩해서 보는 경우에는 이미지를 볼 수 없으므로 어떤 내용의 이미지인지 알 수 없다. 특히 이미지맵을 사용하는 경우에는 더 심각한 상황이 된다. 이를 위해서 정보를 제공해줄 수 있는데, 바로 ALT라는 속성을 이용하는 것이다.
위의 예와 같이 지정을 해 놓으면 이미지가 로딩되지 않을 경우에 이미지의 위치에 [Up]이라는 것이 보이게 된다. 넷스케이프의 경우에는 그림이 로딩되기 전에도 [Up]이 보인다. 그러므로 이미지의 내용을 간단하게 표현할 수 있도록 항상 지정하여 주는 것이 좋다.
이미지가 이미지맵에 의해 다른 링크와 연결되어 있을 경우에는 다음과 ISMAP을 사용한다.
이미지를 둘러싸고 있는 경계의 폭과 이미지와 텍스트의 수평 간격을 지정할 수 있다.
이미지를 로딩하여 이것을 화면의 백그라운드로 사용할 수 있다. 이 효과를 위해서는 <BODY> 태그에 BACKGROUD라는 속성을 지정해준다.
이렇게 지정해주면 background.gif 파일이 브라우저의 바탕이미지로 보인다. 이미지 파일이 작은 경우에는 브라우저의 면적을 가득채울 때까지 반복 출력된다.
HTML 문서 안에 커다란 이미지나 사운드, 애니메이션을 넣게 되면 그 자료를 로딩하는 시간이 커지게 된다. 이럴 때 사용하는 방법이 바로 외부 이미지, 사운드, 애니메이션으로 지정하는 방법이다. 이것을 일단 축소된 이미지등을 이용하여 사용자가 그 축소된 이미지 아이콘을 선택하게 되면 확대된 이미지를 다시 로딩하여 보여주는 방법이다.
사운드도 위와 마찬가지의 방법으로 지정할 수 있다. 그런데 이 때 파일의 확장명이 바뀜을 주의해야 한다. 각 파일별로 확장명은 다음과 같다.
| 파일 형태 | 확장명 | 파일 형태 | 확장명 | 파일 형태 | 확장명 |
|---|---|---|---|---|---|
| 일반 텍스트 | .txt | HTML 문서 | .htm | GIF 이미지 | .gif |
| TIFF 이미지 | .tiff | X Bitmap 이미지 | .xbm | JPEG 이미지 | .jpg, .jpeg |
| PostScript 파일 | .ps | AIFF 사운드 파일 | .aiff | AU 사운드 파일 | .au |
| WAV 사운드 파일 | .wav | QuickTime 영화 | .mov | MPEG 영화 | .mpeg, .mpg |
[표 10] 파일 종류에 따른 확장명
HTML문서에서도 테이블을 만들 수 있다. 이에 사용되는 태그에는 <TABLE>, <CAPTION>, <TR>, <TD>, <TH>가 있다. TABLE과 CAPTION을 제외한 다른 태그들은 마감태그를 생략할 수 있다. 테이블에서는 각각의 칸을 셀이라고 한다.
TABLE 태그에도 여러 가지 속성들이 있다. 속성값은 픽셀단위의 숫자로 지정된다.
| 1교시 | 09:00 - 10:00 |
| 2교시 | 10:00 - 11:00 |
[ 결과 1 ]
| 1교시 | 09:00 - 10:00 |
| 2교시 | 10:00 - 11:00 |
[ 예 2 ]
| 1교시 | 09:00 - 10:00 |
| 2교시 | 10:00 - 11:00 |
[ 결과 2 ]
| 1교시 | 09:00 - 10:00 |
| 2교시 | 10:00 - 11:00 |
WIDTH와 HEIGHT의 경우에는 픽셀단위의 값뿐 아니라 전체 페이지에 대한 백분율로도 값을 지정할 수 있다. WIDTH 값이 커질수록 테이블의 가로길이가 늘어나며, HEIGHT 값이 커지면 데이블의 세로 길이가 길어진다. 백분율로 값이 지정되어 있는 경우에는 브라우저에서 보이는 화면의 상대적인 크기로 테이블을 보여준다.
[ 예 3 ]
| 1교시 | 09:00 - 10:00 |
| 2교시 | 10:00 - 11:00 |
[ 결과 3 ]
| 1교시 | 09:00 - 10:00 |
| 2교시 | 10:00 - 11:00 |
테이블의 제목을 써주는 태그로 ALIGN=TOP 또는 ALIGN=BOTTOM로 값을 지정하여 캡션의 위치를 표위나 아내로 정한다.
| [ 예 ] |
| ||||
| [ 결과 ] |
|
테이블의 열을 지정하는 태그로 다음과 같은 속성을 사용할 수 있다. 테이블에서는 <TR>와 </TR> 사이의 모든 내용들을 하나의 열로 처리한다.
| WIDTH = n | 셀의 너비 지정 |
| HEIGHT = n | 셀의 높이 지정 |
| ALIGN = LEFT, CENTER, RIGHT | 하나의 셀 내부 문자 정열을 지정 |
| VALIGN = TOP, MIDDLE, BOTTOM | 셀의 세로 정열 사항 |
| COLSPAN = n | 하나의 셀로 합할 행의 수 |
| ROWSPAM = n | 하나의 셀로 합할 열의 수 |
| NOWRAP | 셀내부의 문장이 두줄로 나누어지지 않게 한다. |
테이블에 있어서 각 행의 제목 부분을 쓰는 태그이다. 기본값은 볼드체로 가운데 정열이며 사용할 수 있는 속성은 <TR>와 같다.
테이블의 셀 데이터를 써 넣는 태그로 일반 글자체로 나타나며, ALIGN의 기본 값은 left인 것을 제외하고는 <TR>와 속성의 사용이 같다.
이상의 태그들을 이용하여 테이블을 만들면 다음과 같다.
| 과 정 명 | 교 육 내 용 | 교육기간 | ||
|---|---|---|---|---|
| 일수 | 시간 | |||
| 인터넷 | 정보검색과정 | 인터넷 Overview, 정보검색 환경론, 검색엔진분석, 검색사례연구/실습 | 주2회 3시간씩 2개월과정 | 48 |
| 일반과정 | 인터넷출발, 인터넷 환경응용, 정보검색 | 주2회 2시간씩 2개월과정 | 32 | |
| 상용 DB 정보검색과정 | 상용 DB개요, DB구조론, 사용법, 검색사례 연구 | 1일 4시간 3일과정 | 12 | |
| 과 정 명 | 교 육 내 용 | 교육기간 | ||
|---|---|---|---|---|
| 일수 | 시간 | |||
| 인터넷 | 정보검색과정 | 인터넷 Overview, 정보검색 환경론, 검색엔진분석, 검색사례연구/실습 | 주2회 3시간씩 2개월과정 | 48 |
| 일반과정 | 인터넷출발, 인터넷 환경응용, 정보검색 | 주2회 2시간씩 2개월과정 | 32 | |
| 상용 DB 정보검색과정 | 상용 DB개요, DB구조론, 사용법, 검색사례 연구 | 1일 4시간 3일과정 | 12 | |
테이블 태그는 테이블 작성 외에도 유용하게 사용할 수 있다. 예를 들어서 다단 문서의 제작이나 항목들의 정열에 유용하게 쓸 수 있다. 이는 HTML이 라인넘기기나 빈공란을 제대로 인식하지 못하기 때문에 정열효과를 낼 수 있는 하나의 방법이다. 물론 이때는 BORDER의 값을 0으로 놓거나 BORDER를 생략하여 선이 나타나지 않도록 해야 한다.
[ 다단 문서 작성 예 ]
| CU-SeeMe에 대하여 CU-SeeMe(이하 CUSM)는 원래 미국코넬 대학에서 개발한 것이지만, 화이트 파인이라는 회사에서 소스를 라이센스해 |
Enhanced CU-SeeMe라는 제품을 상용화해 내놓았다. Enhanced CUSM은 컬러 이미지를 지원하는 등 몇가지 기능이 강화됐다. 이 | 제품의 베타 버전은 현재 http://www.cu- seeme.com 에서 다운로드 할 수 있으며, 정식제품은 온라인으로도 구입 가능 하다. |
일반적으로 웹브라우저에서 문서를 보여줄 때 디폴트 백그라운드 색깔은 회색 바탕에 검은색 글자이다. 그러나 이것 역시 원하는 색깔로 지정할 수 있다. 그 외에도 글자의 색깔, 링크 색깔, active link, visited link의 색깔 등도 지정 가능하다. 각각은 문서의 뒷배경의 색은 BGCOLOR, 문자는 TEXT로 지정하며, 링크에 대해서는 LINK, ALINK, VLINK로 표시한다. LINK는 링크되어 있는 단어나 문구의 초기 색이며, ALINK는 마우스로 클릭하는 순간의 색이고, VLINK는 한 번이상 방문했던 링크의 색이다. 각각의 지정값은 RGB색으로 지정하는데 #rrggbb의 16진수나 문자로 된 색깔의 이름으로 지정한다. 16진수로 지정할 때는 색의 범위는 Ox000000부터 OxFFFFFF까지이다.
지정 방법은 <BODY> 태그에 속성을 지정해주는 것이다. 아래의 예는 검은 색 바탕에 흰글씨로 보이며, link의 색은 회색, active link의 색은 붉은 색으로 지정한다. visited link의 색은 기본값으로 지정된 색으로 보인다.
색 지정에 대한 예는 [표 12]와 같고, 보다 자세한 정보를 원하는 분은 다음의 URL을 참조하면 된다.
http://werbach.com/web/wwwhelp.html#color
| Color | Code | Color | Code | Color | Code | ||
|---|---|---|---|---|---|---|---|
| Black | #000000 | Blue | #0000FF | Green | #00FF00 | ||
| Cyan | #00FFFF | Navy | #23238E | Sea Green | #238E6B | ||
| Dark Green | #2F4F2F | Brown | #A52A2A | Sky Blue | #3299CC | ||
| Induan Red | #4F2F2F | Violet | #4F2F4F | Pink | #BC8F8F | ||
| Light Blue | #BFD8D8 | Gray | #C0C0C0 | Orange | #CC3232 | ||
| Violet Red | #CC3299 | Gold | #CC7F32 | Red | #FF0000 | ||
| Magenta | #FF00FF | Yellow | #FFFF00 | White | #FFFFFF |
지금까지는 미리 작성된 HTML 문서를 브라우저를 통해 어떻게 보여줄지를 결정해주는 태그들을 보았다. 그렇다면 이렇게 단순히 보여주는 것만 가능한 것인가? 아니다. HTML 문서에서도 입력을 받아들여 그에 따른 결과를 보여주도록 지정 가능하다.
이 방법으로는 크게 두 가지를 들 수 있는데, 하나는 ISINDEX 태그를 이용하는 것이고 또 다른 하나는 FORM을 이용한 것이다. FORM에 관한 내용은 다음 장에서 살펴보겠다.
BODY부분에 쓰이는 ISINDEX는 간단한 입력창을 만들어준다. 단순히 <ISINDEX>라는 태그만 써 주더라도 'This is a searchable index. Enter search keywords:' 라는 문장과 함께 다음에서 보는 바와 같이 입력을 위한 창이 나타나게 된다.
[그림 2] ISINDEX의 결과
폼이란 웹 서버에서 응용 프로그램과 서버와의 인터페이스를 가능하게 해주는 CGI 활용법에서 사용하는 것이다. CGI 프로그램의 동작 과정에 대해 설명하자면, 브라우저에서 사용자의 입력을 받아서 서버에게 전달하고, 서버는 사용자 입력을 지정된 응용 프로그램으로 넘겨주어 처리를 하게 하고 이 결과를 서버에게 넘겨주고 서버는 다시 브라우저로 전달하여 브라우저에서 결과를 보이게 한다. 이 과정에 있어 사용자의 입력을 받을 수 있게끔 홈페이지 구성을 하는 수단을 폼이 제공한다.
폼의 시작과 끝을 나타낸다. 속성에는 여러 가지가 있는데 METHOD는 웹 브라우져에서 웹 서버로 데이터를 전달하는 방법을 가리킨다. 일반적으로 POST 방법이 많이 사용된다. ACTION은 서버로부터 데이터를 받아서 처리할 CGI 프로그램의 이름이 들어간다.
FORM에서 입력을 받는 방법에는 INPUT, SELECT, TEXTAREA가 있다.
폼 내에서 실제로 입력을 받아들이는 태그로 사용되며 마감태그는 없다. 각 입력 필드들은 NAME이나 TYPE과 같은 하나의 변수에 대한 값을 입력받는다.
[ 예 ]
[ 결과 ]
[그림 3] INPUT을 사용한 예
(1) TYPE
변수의 데이터 형을 지정한다.
입력 종류별로 TYPE을 정리하면 다음 [표 13]과 같다.
| 텍스트 입력 | TEXTAREA, INPUT, HIDDEN, PASSWORD |
| 버튼 입력 | SUBMIT & RESET, CHECK, RADIO |
| 메뉴 입력 | SELECT, SELECT SINGLE, SELECT MULTIPLE |
CGI프로그램이 받을 때 사용되는 전달되는 데이터의 이름으로 FORM안에서 유일한 이름으로 사용된다. 이 이름은 겉으로는 보이지 않으며 여기에 입력값이 지정된다.
<INPUT TYPE="CHECKBOX" NAME= "BOXI">
(3) VALUE
초기값을 설정하는데에 사용되며 TYPE형에 영향을 받는다.
<VALUE="textstring">에서 TYPE이 TEXT나 PASSWORD일 경우에는 textstring이 기본값이 되고, TYPE이 CHECKBOX나 RADIO일 경우에는 체크박스가 체크되었을 때만이 값이 된다. TYPE이 RESET이나 SUBMIT일 경우에는 선택된 버튼의 값으로 재정의 된다.
(4) CHECKED이 속성은 TYPE=CHECKBOX나 TYPE=RADIO일 때 유효하며, 처음 시작할 때부터 CHECK된 상태로 보인다.
(5) SIZE텍스트 필드의 크기를 글자수로 나타낸다. 이 변수는 보이게 될 크기만을 지정할 뿐으로 TYPE=TEXT나 TYPE=PASSWORD일 때 유효하다.
(6) MAXLENGTH텍스트 필드의 최대 크기를 나타낸다. 이것은 SIZE에 의해 나타난 값보다 클 수 있다. 이 속성역시 TYPE값이 TEXT나 PASSWORD일 때 유효하다.
[ 예 ]