반응형

HTML이란? - Hyper Text Markup Language


웹에서 사용하는 마크업 언어

- 인터넷 상에서 사용하는 웹페이지의 정보를 표현하기 위한 언어


하이퍼텍스트

- 단위 텍스트들과 이것들을 결합하는 링크로 구성

- 사용자가 연상하는 순서에 따라 관련 있는 쪽으로 이동하여 정보를 얻음


마크업(태그/tag)

- 문서의 구조와 추가적인 정보를 부여하기 위해 문서 내에 삽입되는 일련의 문자 또는 기호

- 문서는 내용(content), 구조(structure), 스타일(style) 로 나뉜다.


내용(content) 구조(structure) 스타일(style)

- 의미적 마크업

- 제목태그, 주소태그 등

- <title>, <address> 등

- 구조적 마크업
- 문단태그, 제목글 태그 등
- <p>, <hn>, <div> 등

- 양식적 마크업

- 모양, 색상 등

- <b>, <i>, <u> 등


마크업언어

- 마크업의 형식과 규칙을 정의한 언어

- 절차적 마크업 단어

> 문서의 형식이나 텍스트의 외양을 기술

> 워드프로세서에서 사용

> 특정 마크업 언어 → 호환성의 문제

- 기능적 마크업 언어

> 문서의 논리적인 구조, 정보 및 속성을 표현

> SGML, HTML, XML 등

> 범용 마크업 언어 → 응용프로그램과 시스템에 독립적인 언어



※ SGML?

- 이기종 장치 및 시스템에 독립적으로 전자 텍스트를 표현할 수 있는 국제 표준 마크업 언어(ISO 8879)

- GML의 영향으로 문서의 시각적인 표현에 대한 고려 배제

- 매우 강력한 표현력으로, 언어의 습득과 응용 시스템 구현의 어려움

- 특수분야(군사, 우주, 항공) 등에서 제한적으로 사용됨


※ XML?

- SGML 로부터 필요한 기능만 뽑아서 새롭게 정의한 언어

- SGML과 달리 사용자가 임의로 태그를 만들어서 사용할 수 있다. (확장성에 용이)

- 문서의 논리적 구조를 정의하는 언어 → 문서내용의 용이한 이해 및 명확한 전달이 가능


※ HTML?

- 웹페이지를 작성하기 위한 가장 기본적인 언어

- 문서 안에 정보가 어떻게 구조화 되었는가를 지정하는 언어

반응형
반응형

HTML 특징(장점)?


웹 문서의 표준

- 수정 및 관리가 용이하다.

- 웹 접근성이 향상된다.

- 호환성을 확보할 수 있다.


마크업 언어

- 파일 용량이 작아 클라이언트-서버 간 빠른 문서 전달이 가능하다.


일반적인 텍스트 파일

- 별도의 전용 프로그램이 아닌 간단한 메모장과 같은 편집기로도 충분하다.


컴퓨터 시스템과 운영체제에 독립적

- 텍스트 문서 → 어떤 시스템/브라우저에서도 사용이 가능하다.


HTML 단점?


웹 문서의 내용 표현에 집중

- 내용의 의미보다는 내용을 외양적으로 표현하는 태그에 치중


구조화된 정보의 표현과 검색의 어려움

- 정보의 구조화 및 데이터 간의 연관성 표현의 어려움


제한적인 태그

- 사용의 편의성이 있지만, 융통성 및 확장성이 결여


문서의 유효성 검증과 제약조건 정의의 어려움

- 구조화되어 있지 않아 내용의 정확성/유효성 검증이 어려움

 

HTML 문서 작성시 준비되어야 할 것?


문서 작성을 위한 텍스트 편집기

- 메모장, Sublime, EditPlus 등 자신이 원하는 텍스트 편집기를 사용


문서 실행을 위한 웹브라우저

- 5대 브라우저(IE, Chrome, 오페라, 파이어폭스, 사파리) 등 다양한 브라우저가 있다.

 



※ 세계적 평균을 보면 크롬이 압도적으로 점유율이 높고, 대한민국으로 통계를 보면 크롬과 IE가 높은 점유율을 가진다.

※ 아직까지는 HTML5의 기능을 환벽하게 지원하는 브라우저는 없다.


> HTML 코딩을 할 때에, 다양한 브라우저에서 원하는 화면이 정상적으로 나오는지 확인이 필요하다.


반응형
반응형

1. form 태그 / input 태그


 

 

1-1. form 태그

 

- 사용자로부터 다양한 형태의 데이터를 입력받기 위한 요소들을 담는 컨테이너

> 입력요소(input, select, textarea 등)는 <form>태그 내에서 사용

> 결과 화면에는 아무것도 표시되지 않음

 

> 기본형태

<form action="URL" method="전송방식">

    ...

</form>

 

속성

값 

설명 

 action

 "URL" 

 

 폼 데이터를 전달받아 처리할 때 페이지의 URL 

 

 method

 "전송방식" 

 

 데이터 전송에 사용하는 HTTP 방식

 - method="get" 또는 method="post" 

 


 

 

GET 방식과 POST 방식의 차이

구분

method="get"

method="post" 

전송 형태

- 기본값(default)

- 폼 데이터가 이름과 값의 형태로 URL에 포함되어 전송

- "URL?name=value&age=value" 

- HTTP Request 헤더 속에 포함시켜 전송

데이터 길이

최대 2048 글자 (4096바이트)

- 제약없음

보안

- 보안이 중요하지 않은 데이터(예: 검색어) 전달에 사용

- '이전페이지' 버튼을 통한 이동 가능

- 양이 많지 않은 데이터 전송에 용이

- 보안이 필요한 로긍니 정보, 회원 정보 등의 전송에 사용

- '이전페이지'를 누르면 데이터를 다시 보내야 한다는 경고가 표시

 

 

 

1-2. input 태그


- 사용자 데이터의 입력을 위한 다양한 입력 타입을 지정.

 

<input type="입력필드 유형" 속성="값">

 

> type 속성의 값에 따라 다양한 형태의 입력 타입을 제공

> 종료태그 없이 사용 가능

> 속성(type 속성의 값에 따라 사용 가능한 속성이 달라짐)

→ width, src, autofocus, name, placeholder, readonly, required, size, type, value 등등 약 30가지 속성이 있다.)

 

> 이전부터 사용한 속성값 (HTML4)

 

type="속성값"

설명 

 text

 - 한 줄짜리 텍스트

 - 데이터를 출력하는 용도로도 사용

 password

 - 비밀번호 

 - 입력한 문자가 ' * ' 과 같은 문자로 표현

 radio

 - 라디오 버튼 (단일선택)

 - 같은 그룹의 라디오 버튼들에 대해서만 배타적 선택

 - name, value, checked

 text와 password의 value는 초기값을 나타내지만, radio와 checkbox는 입력과 관련하여 서버로 전달되는 값을 나타낸다.

 

- radio와 checkbox는 각 그룹핑을 name으로 지정한다.

→ name이 같은 radio끼리는 한 그룹으로 된다.

 checkbox

 - 체크박스 (다중선택)

 - name, value, checked

 hidden  숨겨진 상태로 전송
 file

 업로드를 위한 파일 선택

 - 자신의 시스템이 있는 파일을 선택하는 버튼을 생성

 - 속성

 accept="파일유형" → 선택 가능한 파일의 유형을 지정

 multiple → 하나 이상의 값을 선택할 수 있도록 지정

 

<input type="file" accept="image/*" multiple>

 

 image

 이미지를 제출 버튼으로 지정

 - 이미지를 제출 버튼으로 만들때 사용

 - 속성

 src(필수), width, height, alt

 

<input type="image" src="flower.jpg" width="100" height="100" alt="제출버튼">

 

 submit

 제출 버튼

 - 입력한 데이터를 <form> action 속성에서 지정한 서버의 페이지로 전송하는 버튼

 - value="버튼명" 속성 → 버튼위에 표시되는 이름

 

<form id="frm_id">

  ~~~

</form>

<input type="submit" from="frm_id">

 reset

 입력 초기화 버튼

 - 입력한 내용을 모두 지워서 초기 상태로 만드는 취소 버튼

 - value="버튼명" 속성 → 버튼위에 표시되는 이름

 button

 클릭 가능한 일반 버튼

 - 클릭을 통해 사용자가 지시한 명령을 수행하기 위한 버튼

 - value="버튼명" 속성 → 버튼 위에 표시될 이름

 

* <button> 태그

> 클릭 가능한 버튼을 정의하는 태그

> 버튼 위에 텍스트나 이미지도 표현 가능

 

<button type="button | submit | reset" name="이름">

  버튼 위에 표시될 텍스트나 이미지를 지정

</button>

 

* form 태그 내에서 button 태그를 사용하게 되면 데이터 전송이 제대로 이루어지지 않을수 있다. 때문에 form태그 내에서는 <input type="button"> 을 사용하는것이 옳다.

 

 

 

> HTML5부터 추가된 속성값 (HTML5)

 

type="속성값"

 설명 

 search

 검색어 입력

 > type="text"와 동일한 기능/모양, 단지 입력 대상을 명확히 지정함

 > 입력한 텍스트를 초기화 해주는 'X' 버튼이 input 박스의 오른쪽에 생긴다.

 tel

 전화번호

 > type="text"와 동일한 기능/모양, 단지 입력 대상을 명확히 지정함 

 url

 URL 입력

 > type="text"와 유사한 기능/모양

 > 자동으로 유효성 검사 → 형식에 맞지 않으면 경고 메시지 출력

 email

 이메일 주소

 > type="text"와 유사한 기능/모양

 > 자동으로 유효성 검사 → 형식에 맞지 않으면 경고 메시지 출력

 > multiple속성 → 콤마로 구분된 여러개의 이메일 주소 입력

 number

 특정 범위의 숫자

 > input박스 우측에 스핀버튼(위아래 버튼) 자동생성, 조절가능

 > 속성

 - min="최소값" / max="최대값"

 - step="입력값의 유효간격" (스핀버튼 조절)

 - vaule="초기값"

 range

 특정 범위의 숫자

 > 좌우 레인지형식 자동생성, 조절가능

 > 애매한 숫자나 덜 정확한 숫자를 입력받을때 사용

 > 속성

 - min="최소값" / max="최대값"

 - step="입력값의 유효간격" (좌우버튼 조절)

 - vaule="초기값"

 color

 색상표를 통한 색상 입력

 datepickers  date 

 날짜 → 년, 월, 일 입력

 month

 월 → 년, 월 입력

 week

 주차 → 년, 주차 입력

 time  시간 → 시, 분, 초 입력

 datetime

 날짜와 시간 → UTC 시간대를 기준으로 년, 월, 일, 시간 입력(HTML 표준에서 제외)

 datetime-local

 날짜와 시간 → 지역 시간대를 기준으로 년, 월, 일, 시간 입력


 

> 그밖의 속성

 

속성명

값 

설명 

 name

 "string" 

 form 태그를 통해 서버로 전송하기 위한 구분을 위해 각 form 태그의 이름을 붙여준다.

 autofocus  "속성명"   페이지가 로딩됐을때 해당 태그로 커서이동 
 size  "number"   화면에 보여줄 입력박스의 글자수 
 maxlength  "number"  입력받을수 있는 최대 문자수
 value  "값"  초기값 
 disabled  "속성명"

 비활성화 시켜주기 위한 속성.

 비활성화된 데이터는 서버로 넘어가지 않는다.

 placeholder  "값"   사용자의 입력방식을 유도하기 위한 참조글자

 autocomplate

 "on"

 "off" 

 사용자가 이전에 입력했던 내용을 자동완성 시켜주는 속성

 form 태그 및 input태그 등에 사용 가능

 title

 "텍스트" 

 입력 형식에 대한 툴팁기능 

 required

 "속성명" 

 이 요소에 대해서는 값을 반드시 입력해야 한다고 경고메세지를 표현 

 pattern

 - 이름

 [a-zA-Z]{4, 10}

 → [문자의 종류]{문자의 갯수}

 

 - 전화번호

 0\d{1,2}\-\d{3,4}\=\d{4}

 

 - 주민등록번호

 \d{6}\-[1-4]\d{6}

 

 - 이메일

 ^[a-zA-Z0-9]+@([a-zA-Z0-9_\-\.]+]\.([a-zA-z]{2,5})$

 

 입력값에 대한 유혀성 검사를 위한 정규 표현식을 지정

 - 정규표현식 → 특정한 규칙을 가진 문자열을 표현하는데 사용하는 수식 


 

 

 

2. textarea 태그 / select 태그 / datalist 태그



2-1. <textarea> 태그

 

- 여러 줄에 해당하는 텍스트를 입력받을 떄 사용

> <input type="text"> → 한 줄에 해당하는 짧은 텍스트 입력

 

<textarea rows="숫자값" cols="숫자값">

     텍스트 영역에 표시할 내용(출력용)

</textarea>

 

 

> 주요속성 → name, rows, cols, wrap, readonly

> autofocus, disabled, form, maxlength, placeholder, required 등도 사용 가능

 

주요 속성

값 

설명 

 name

 "이름" 

 텍스트 영역의 이름

 rows  "숫자" 

 텍스트 영역의 높이(라인 수)

 cols 

 "숫자" 

 텍스트 영역의 너비(한 줄에 입력할 수 있는 글자 수)

 wrap

 "soft"

→ (default) 자동으로 줄바꿈이 포함되지 않음

 "hard"

→ 자동으로 줄바꿈이 포함되어 전송(cols 속성 지정이 필요) 

 폼으로 전송될 때 줄바꿈 포함 여부

 readonly

 생략가능, "속성명"

 텍스트 영역을 읽기 전용(내용 출력) 으로만 사용 

 

 

2-2. <select> 태그

- 드롭다운 리스트를 만들때 사용


> <option>태그

 → <select>의 하위 태그로서, 목록에서 각 항목을 정의

 

<select 속성="값">

    <option value="값">항목1</option>

    <option value="값">항목2</option>

    <option value="값">항목3</option>

</select>

 

속성

값 

설명 

 select

 name

 "이름" 

 드롭다운 리스트의 이름을 지정 

 size  "숫자"   한 번에 화면에 보여지는 항목의 개수를 지정 
 multiple   생략 

 여러 항목을 한꺼번에 선택할 수 있도록 지정 

→ ctrl 키나 shift 키를 누른채로 선택 가능

 option   disabled  생략  해당 항목을 비활성화 시킴 
 label  "텍스트"  긴 항목을 짧은 레이블로 value의 우측에 표시
 selected  생략  페이지 로드 시에 초기값으로 선택되는 항목을 지정
 value  "텍스트"  서버로 전달되는 항목의 값을 지정

 label

 "텍스트" 

 option 태그의 우측 참고텍스트 지정 


 

 

2-3. <datalist> 태그

 

- <input type="text">에 대한 옵션 목록을 지정


> 포커스를 받으면 미리 입력한 옵션이 드롭다운 형태로 표시

 

<input type="text" list="datalist_id">

<datalist id="datalist_id">

    <option value="값1" label="항목1">항목1</option>

    <option value="값2" label="항목2">항목2</option>

    <option value="값3" label="항목3">항목3</option>

    <option value="값4" label="항목4">항목4</option>

</datalist>

 

 

 

 

 

속성

값 

설명 

 id

 "input 태그의 list값" 

 datalist에 기술된 항목이 드랍다운 됨 


2-4. <optgroup> 태그

 

- <select>태그 내에서 연관된 항목들을 그룹핑

<select name="subject" size="1">

    <optgroup label="그룹핑네임1(텍스트)">

        <option value="값1">항목1</option>

        <option value="값2">항목2</option>

        <option value="값3">항목3</option>

    </optgroup>

    <optgroup label="그룹핑네임2(텍스트)">

        <option value="값4">항목4</option>

        <option value="값5">항목5</option>

        <option value="값6">항목6</option>

    </optgroup>

</select>

 

 

 

3. fieldset 태그 + legend 태그 / label 태그


 

 

3-1. <fieldset> 태그

 

- 폼에서 사용된 요소들을 그룹핑 → 사각형 테두리 안에 표시

 

- <legend>태그

> <field> 태그 내에서 사용

> 그룹핑되는 요소들에 대한 캡션을 사각형 테두리 선 상에 표시

 

 

3-2. <legend> 태그

 

- <input> 태그에 대한 레이블 정의 → 시각적으로 효과 없음

 

> <lable> 태그 내에 있는 텍스트를 클릭해도 해당하는 <input> 태그의 선택이 가능

 

<form>

 

  <p><label>아이디: <input type="text" name="id" value="HwiDoorumi"></label>

  <p><label>비밀번호: <input type="password" name="pwd"></label></p>

 

  <fieldset>

    <legend>성별</legend>

    

    <label for="male">남자</label>

    <input type="radio" id="male" name="gender" value="male" checked><br/>

   

    <label for="female">여자</label>

    <input type="radio" id="female" name="gender" value="female"><br/>

 

  </fieldset>

 

</form>

반응형
반응형

CSS란 무엇인가?



1. CSS란?


- Cascading Style Sheets 는 documents가 사용자에게 어떻게 보여질까를 기술하는 언어이다.

- HTML이 정보를 표현한다면 CSS는 HTML문서를 시작적으로 이쁘게 꾸며주는 역할을 한다.




2. CSS로 기대되는 효과?


- 정보(HTML)와 디자인(CSS)를 분리하여 관리할 수 있다.

- 정보를 수정하지 않고 디자인만 변경할 수 있다.

> 태그마다 style 속성으로 주게 되면 소스코드가 지저분해 지는데, 분리하여 관리하게 되면 유지보수 및 가독성이 좋아진다.

- 검색엔진이 HTML을 해석 가능하도록 하기 때문에 더 많은 방문자들이 방문할 수 있도록 유도할 수 있다.

> 시각장애인을 위한 스크린리더 프로그램이 HTML문서를 해석하도록 할 수 있다.(웹접근성)




3. CSS로 HTML문서를 디자인하는 방법


- 외부 스타일 시트(External Style Sheet)

- 내부 스타일 시트(Internal Style Sheet)

- HTML 태그 내에 스타일 지정(Inline Styles)


3-1. 외부 스타일 시트(External Style Sheet)


- css라는 확장자를 가진 스타일 시트 파일을 만들고 이 파일을 HTML 문서에 연결하여 사용하는 방법

<head>
    <link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

3가지 방법중 가장 좋은 방법으로, CSS의 장점을 모두 갖춘 형식이다.

분리된 디자인 파일로 관리하며 홈페이지 스타일을 일관성 있게 유지/보수하며 효율성을 극대화 할 수 있다.

단점으로는 외부 스타일 시트가 지나치게 복잡해지면 곤란하므로 전문성 있는 관리 노하우가 필요하다.


3-2. 내부 스타일 시트(Internal Style Sheet)


- HTML 문서 내에서 <head>와 </head>사이에 <style> 태그로 지정하는 방법

<head>
 <style type="text/css">
     Selector {property: value;}
    ex) h1 {color:red} 
 </style>
</head>

좋다고도 할 수도, 나쁘다고 할 수도 없는 스타일 적용방법이다.

그 이유는 내부 스타일 시트를 주는 것은 적절한 상황? 에서 좋은 방법이기 때문이다.


여러 문서에 적용되는 CSS의 경우는 외부 스타일 시트로 빼는게 좋지만,

한 가지 문서(HTML) 에는 따로 css를 빼는 것보다 현재 문서에만 적용할 때 유용하다.

(단, 스타일태그가 길어질 경우 외부 스타일 시트로 빼는것이 좋다.)


3-3. HTML 내에 스타일 지정(Inline Styles)


- 세가지 방법중 가장 범위가 좁아진 스타일 적용 방식이다.

<p style="font-size: 15px;">15픽셀사이즈로 디자인됩니다.</p>

위 스타일은 스타일을 지정하고싶은 태그에 직접적으로 주입해주는 방식이다.

style 속성으로, property: value 의 값을 가진다.

css의 장점인 내용과 스타일의 분리, 스타일에 대한 일괄 변경이 불가능한 가장 비효율적인(?) 방식이다.


하지만 특정 상황에서 직관적이고, 수정이 빠르고 간편한 이유로 간단한 테스트나 개발할때 사용된다.




4. CSS 적용 우선순위


- 위에서부터 차례대로 읽어들이는 HTML과 달리, CSS에는 우선순위 라는것이 적용된다.

- 적용방법의 우선순위로는 크게 외부스타일 < 내부스타일 < 인라인 스타일 순서로 작용한다.

- 자세히는 다음과 같이 작용한다.

> 1. 속성값 뒤에 !important; 를 붙인 속성 ( !important의 경우 종료마크인 ;(세미콜론) 안쪽에 작성되어야 한다.)

> 2. 태그에 직접적으로 style 속성을 넣는 방식 (인라인스타일 방식)

> 2. HTML문서 에서 style을 직접 지정한 속성 (내부스타일 방식)

> 3. #id 로 지정한 속성

> 4. .클래스, :추상클래스 로 지정한 속성

> 5. 태그이름 으로 지정한 속성

> 6. 상위 객체에 의해 상속된 속성 (외부스타일 방식)


- 6번에서 1번으로 갈 수록 우선순위가 높다. -> !important가 가장 강력하다.

- 6번째 우선순위에서 !important 를 붙인다면 해당 속성으로 적용된다.


* mystyle.css


@charset="UTF-8"


.test{color:red;}



* mystyle.html


~~~


<head>
       <link rel="stylesheet" type="text/css" href="mystyle.css">

<style>

.test {color:blue;}

</style>

</head>

<body>

<h1 style="color:orange" class="test">이 문단의 글자색상은 주황색으로 나오게 됩니다.</h1>

</body>



위 코드를 보면, 외부스타일로 test클래스를 가진 h1태그에 글자색상을 빨간색인 red로 설정하였다.

하지만 내부스타일인 <style> 태그로 인하여 색상이 파란색이 되어야 하지만,

내부스타일보다 우선순위인 인라인스타일 에 밀려 글씨는 주황색으로 나타나게 된다.


** 만약, mystyle.css 안에 내용이


.test {color:red !important} 와 같이 작성된다면, 강제로 우선순위가 첫번째가 되기 때문에, 빨간 글자로 나오게 된다.



[글 작성에 있어 출처 및 도움된 사이트]


https://ofcourse.kr/css-course/

https://developer.mozilla.org/ko/docs/Web/CSS/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0/CSS%EB%9E%80

https://opentutorials.org/course/45/2


반응형

'CSS > CSS 이론 및 기본' 카테고리의 다른 글

[css 이론 및 기본] box-sizing  (0) 2019.12.26
[css] reset.css  (0) 2019.11.24
[CSS] CSS 선택자(selector)  (0) 2018.04.24
반응형

1. embed 요소


 

- 외부 애플리케이션이나 상호작용 콘텐츠를 위한 컨테이너

- HTML4.01 에서는 embed 태그를 지원하지 않는다.

 

속성

값 

설명 

  src

  "URL" 

  내장되는 외부 파일의 주소/이름 

  height

  "픽셀" 

  내장되는 콘텐츠의 높이 

  width

  "픽셀" 

  내장되는 콘텐츠의 폭 

  type

  "미디어타입" 

  내장되는 콘텐츠의 미디어 타입 

 

 

 

 

2. audio 요소


 

- 외부 플러그인의 도움 없이 오디오 재생

 

* 사용법

<audio src="오디오 파일 주소">

audio요소를 지원하지 않는 브라우저에서 대체 표시할 내용

</audio>

 

* 활용법

<audio src="song.mp3">

<embed src="song.mp3">

</audio>

 

속성

값 

설명 

  src

"URL" 

재생할 오디오 파일의 URL 

  autoplay

"속성값" 

- 웹 문서 로딩 시에 오디오를 자동으로 재생할 지 여부

 

- 속성값 없이 사용 가능

   → 속성명만 표시

- 속성값을 사용하는 경우

   → 속성명="속성명"

   > autoplay="autoplay"

   > controls="controls"

   > loop="loop"

   > muted="muted"

  controls

"속성값" 

오디오 제어기

(재생, 일시정지, 볼륨 등)

의 표시 여부 

  loop

"속성값" 

오디오의 반복 재생 여부 

  muted

"속성값"

음소거 여부 

  preload

"none"

- 사용자가 재생을 시작하기 전까지는 웹브라우저가 오디오 파일을 미리 로드하지 않음

"auto" (default)

- 페이지가 로드될 때 전체 파일을 자동으로 로드

"metadata"

- 사용자가 재생시키기 전까지는 오디오의 메타 정보(크기, 프레임 등)만 로드

웹 문서가 로딩될 때 오디오의 로딩상태 제어

 

※ 웹에서 주로 사용되는 오디오 형식은 MP3, Wav, Ogg 등이 있다.

※ 각 브라우저/버전마다 지원되는 오디오 파일 형식이 다르다.

 

 오디오 형식

브라우저

 크롬 (52)

IE (11)

파이어폭스 (48) 

오페라 (37) 

사파리 (9.1) 

 MP3

 O 

O

 O 

O

 O 

 Wav

O

 X 

O

O

O

 Ogg

O

X

O

 O 

X

 


 

- 다양한 포맷을 지원하는 <source> 태그

 > 하나의 소스파일에 대해 서로 다른 형식을 갖는 여러 파일을 동시에 지정하기 위한 태그

 > <audio>/<video> 태그의 src 속성의 역할을 대신함

 > 하위태그로, 여러개 지정 가능 → 가장 위의 <source>태그부터 차례로 지원하는 형식을 찾아서 재생

 

속성

값 

내용 

src

"URL" 

재생할 미디어 파일의 URL 

type

"MIME형식" 

재생할 파일의 MIME 형식

- "audio/mp3"

- "audio/wav"

- "audio/ogg" 

 

 

 

 

3. video 요소


 

- 비디오 재생

 

* 사용법

<video src="비디오 파일 주소">

video요소를 지원하지 않는 브라우저에서 대체 표시할 내용

</video>

 

* audio 태그의 속성을 그대로 사용

> 위의 audio 태그의 속성을 정리해둔 표를 참고하면 된다.

> 추가로 width, height, poster 등의 속성이 있다.

 

* poster="URL"

> 지정한 비디오 데이터가 설정되어 있지 않거나 비디오가 로딩되는 동안에 보여줄 이미지를 지정

 

* 활용법

<video src="bunny.mp4" controls width="400" height="300"

    poster="bunny_poster.jpg">

현재의 브라우저는 video 요소를 지원하지 않습니다.

</video>

 

※ 웹에서 주로 사용되는 비디오 형식은 MP4, WebM, Ogg 등이 있다.

 

 비디오 형식

브라우저

 크롬 (52)

IE (11)

파이어폭스 (48) 

오페라 (37) 

사파리 (9.1) 

 MP4

 O 

O

 O 

O

 O 

 WebM

O

 X 

O

O

O

 Ogg

O

X

O

 O 

X

 

 

 

4. 오디오/비디오 재생 구간 지정 방법


 

> 미디어 콘텐츠를 재생할 때 특정 구간을 지정하여 재생

> src="파일명#t=[시작시간][, 종료시간]"

> 시간 표시 형식 → 시:분:초

 

* 활용법

 

> src="video.mp4#t=1:20:32, 2:05:00"

→ 1시간 20분 32초 ~ 2시간 5분까지 재생

 

> src="video.mp4#t=10, 20"

→ 10초~20초까지 재생

 

> src="video.mp4#t=,10"

→ 처음부터 10초까지 재생

 

> src="video.mp4#t=20"

→ 20초부터 재생

 

 

 

5. 자막 처리를 위한 <track> 태그


 

 

- 여러 언어나 비디오 설명을 제공하거나 또는 자막이나 캡션 같이 시간이 지정된 텍스트 파일을 지정

- <autio>/<video> 태그의 하위 태그로 사용

 

<video src="video_track.mp4" controls autoplay loop>

<track src="video_track.vtt" kind="subtitles" srclang="ko" label="예제 자막표시" default>

</video>

 

속성

값 

설명 

src

"URL" 

※ 필수항목

텍스트 트랙파일(*.vtt)의 URL을 지정 

kind

"속성값" 

텍스트 트랙의 종류를 지정

- subtitles : 비디오의 자막을 정의

- captions : 대화나 사운드 효과를 글로 옮기거나 번역한것

- descriptions : 비디오 내용에 대한 텍스트 형식의 설명을 정의

- chapters : 장의 제목으로 미디어 자원을 탐색하기 위한 것

- metadata : 스크립트에서 사용하기 위한 내용을 정의

label 

"텍스트" 

사용자가 읽을 수 있는 트랙의 제목을 지정 

srclang

"언어코드"

텍스트 트랙 데이터의 언어를 지정

default

-

사용자가 별도의 트랙을 지정하지 않는 경우 기본 트랙으로 활성화 되어야 함을 표시

 

※ track 파일의 형식

 

파일명.vtt 파일 (텍스트 문서에서 작성하여 저장 가능하다.)

> WebVTT 형식

> UTF-8 형식의 텍스트 파일

 

WEBVTT

 

HH:MM:SS.sss --> HH:MM:SS.sss

해당 시간에 표시될 내용

 

HH:MM:SS.sss --> HH:MM:SS.sss

해당 시간에 표시될 내용

 

HH:MM:SS.sss --> HH:MM:SS.sss

해당 시간에 표시될 내용

 

- 다중 트랙의 사용

 > default 속성을 사용해서 하나의 트랙을 기본으로 지정

 > 여러 트랙을 사용하는 경우 사용자가 언어를 지정/선택하지 않는 경우를 대비 

 

<video src="video_track.mp4" controls autoplay loop>

<track src="video_ko.vtt" kind="subtitles" srclang="ko" label="한국어" default>

<track src="video_en.vtt" kind="subtitles" srclang="en" label="영어">

</video>

 

반응형
반응형


검색엔진에 내 사이트 등록하기



구글이나 네이버 같은 검색엔진에 검색 했을 때 내 블로그가 보여진다면 얼마나 좋을까요?


단순히 블로그를 창설 했다고 해서, 검색엔진에 나오는 것은 아니라는 사실!!

(사실 신입시절 제 포트폴리오가 검색되는걸 보면.. 천천히 기다리면 검색 되기는 하는것 같습니다...ㅋㅋ)



1. 구글 아이디가 필요하다!



웹사이트의 소유권을 얻기 위해서는 검색엔진 마다 소유권이 필요합니다.

구글 아이디를 만드는것은 생각보다 간단합니다. 아이디가 없다면 아이디를 만들어주시면 됩니다.



2. 웹사이트의 소유권을 획득하자!



사이트를 등록, 관리 등을 하기 위해서는 등록하려는 웹사이트의 '소유권' 이 필요합니다!

구글 아이디로 로그인 후에, 구글 애플리케이션에서 제공하는 'Search console'을 이용하여 소유권을 획득할 수 있습니다.


구글 검색창에 '구글서치콘솔' 을 검색하셔도 좋고, 로그인 후에 우측 상단의 바둑판식 배열 이미지를 클릭하여 접속이 가능합니다.




접속하면 우측 상단에 '속성추가' 버튼을 눌러서 자신이 등록하려는 웹사이트의 주소를 입력해 줍니다.



다음과 같은 창이 뜨는데, 원하는 웹사이트의 주소를 정확히 입력하고, 추가 버튼을 눌러줍니다.

추가 버튼을 누르면 소유권을 가지기 위한 방법이 여러가지 존재하나, 티스토리의 경우 html파일 업로드가 안되기 때문에, 대체방법을 사용하겠습니다. ㅎㅎ




대체방법에서 HTML 태그 목록을 클릭해주면, 사용방법이 친절하게 나옵니다. ㅎㅎ

메타태그를 그대로 복사하여, 자신의 블로그 > 관리 > 스킨편집 > HTML/CSS 편집을 들어가서 해당 메타태그를 넣어주면 소유권 확인이 완료된다!



3. RSS등록을 해주어야 한다!



RSS란?? 쉽게 사이트에 올라온 글을 쉽게 구독할 수 있도록 하는 일종의 규칙 으로 보면 될 것 같습니다.

(사실 저도 잘 몰라서 구글링한 정보입니다.. 깊이알면 다칠것같아요..)


소유권 획득 후에, 등록된 사이트 이미지를 클릭하면 관리 메뉴로 들어갈 수 있습니다.


1. sitemap 추가하기

관리메뉴에서 크롤링>Sitemaps 혹은 대시보드 창에서 Sitemaps 영역을 클릭하면 Sitemap을 추가할 수 있는 메뉴로 이동한다.



다음과 같은 화면을 볼 수 있는데, 우측 상단에 SITEMAP 추가/테스트를 클릭해주면 아래와 같은 화면을 확인할 수 있습니다.



rss까지 등록 신청 하고 나면 구글에 자신의 사이트가 검색이 되는걸 확인할 수 있습니다.


(등록한다고 바로바로 검색이 되지는 않구 좀 기다리셔야 해요 ㅠㅠ 상단에 노출되기 위해서는 꾸준히 글 업데이트와 관리를 해주면 됩니다 ㅎㅎ)





반응형
반응형

1. <table> 태그

 

 

- <table> 태그 

> HTML에서 테이블을 정의하는 태그

> m행 x n열 → m개의 <tr>태그, 각 <tr>태그 내에서 n개의 <td>태그

> border-spacing 속성으로 테이블간 셀들의 간격을 조절할 수 있다. (px단위)

 

- <caption>태그

> table에 해당하는 제목을 표시

> 테이블 레이아웃에는 아무런 영향을 미치지 않음

> 반드시 <table>의 시작태그 바로 다음에 위치해야 함

<table과 <caption>태그 사이에는 다른 어떤 태그도 위치할 수 없음

→ <tr>또는 <td>태그 내에서 사용하면 무시된다.

테이블 상단에 진하게 가운데 정렬로 표시

→ CSS caption-side(위아래정렬) 속성과 text-align(좌우정렬) 속성으로 위치 및 정렬 방식을 조정

 

- <tr> 태그

> 테이블에서 하나의 줄에 해당하는 행(row)을 정의하는 태그

> <td> 또는 <th> 태그를 포함해야만 사용 가능

 

- <td> 태그

> 테이블에서 데이터가 표시되는 표준 셀을 정의

> 반드시 <tr> 태그 내에서 사용

> 셀 내용 → 왼쪽 정렬로 표시

 

- <th> 태그

> 테이블 내부에서 행/열의 제목을 표시하는 헤더 셀을 정의

> 반드시 <tr> 태그 내에서 사용

> 셀 내용 → 진하게 가운데 정렬로 표시

<caption>table제목 태그</caption>

 

 1번째 <tr>

<th>구분타이틀</th>

<th>구분타이틀<th>

<th>구분타이틀</th> 

 2번쨰 <tr>

  <td>내용셀</td>

  <td>내용셀</td> 

  <td>내용셀</td> 

 


 

2. 셀 병합과 요소 배치

 

- 셀 병합

 

> 인접한 여러 셀을 합쳐 하나의 셀로 만드는 경우

→ 다양한 모양의 테이블 생성이 가능

 

> rowspan 속성과 colspan 속성

→ <td> 또는 <th> 태그 내에서 속성으로 사용

→ rowspan="n" ==> 현재 셀의 위치에서 n개의 행(세로 방향으로 인접한 n개의 셀)을 병합

→ colspan="n" ==> 현재 셀의 위치에서 n개의 열(가로 방향으로 인접한 n개의 셀)을 병합

 

rowspan="2"

colspan="2"

  내용1

  내용2 

 

 

 

※ 위와같은 테이블은 다음과 같이 표현된다.

 

<table border="1">
    <tbody>
        <tr>
            <th rowSpan="2">rowspan="2"</th>
            <th colSpan="2">colspan="2"<th>
        <tr/>
        <tr>
            <td>내용1</td>
            <td>내용2</td>
        <tr/>

</tbody>

</table>

 

- 요소배치

 

> 바둑판식 배열처럼 질서 정연한 요소의 배치가 가능하다.

> 각 셀의 내용으로 다양한 HTML 요소가 가능
    →  텍스트, 목록, 이미지, 테이블 등

 


 

3. 테이블 콘텐츠 그룹핑과 열 단위 스타일 지정

 

- <colgroup> 태그

> 하나 이상의 열들을 모아서 한꺼번에 스타일을 지정할 때 사용

> <col> 태그를 자식태그로 가지며, width 속성으로 조절한다.

 

- <col> 태그

> 지정한 열에 대해서 서로 다른 포맷팅을 정의하는 태그

> <colgroup> 태그를 부모태그로 가진다.

> 종료태그 없이 사용

> span="n" 속성 → 해당 태그의 스타일이 적용되는 열의 개수

 

- <thead> 태그

> 테이블의 '머리' 에 해당하는 태그

> 테이블의 최상단에 위치한다.

> th로만 이루어진 하나의 <tr>의 경우 <thead>의 영역에 해당

 

- <tbody> 태그

> 테이블의 '몸체' 에 해당하는 태그

> 테이블의 중단에 위치한다.

> th와 td가 한 tr에 존재하는 경우 <tbody>의 영역에 해당

 

- <tfoot> 태그

> 테이블의 '꼬릿말' 에 해당하는 태그

> 테이블의 최하단에 위치한다

 

※ 전체적인 순서는 <table> → <caption> → <colgroup> → <thead> → <tfoot> → <tbody> → <tr> → <th> → <td> 순서로 작성한다.

※ 왜 tbody 다음 tfoot이 아닌가?? 라는 의문이 있을 수 있다. 이는 보여지는 화면에는 이상이 없지만, W3C 접근성 검사에서 경고를 발생시킨다.

※ <thead>, <tfoot>, <tbody>의 경우 테이블의 레이아웃에는 영향을 미치지 않는다.

 

반응형
반응형

1. 이미지를 삽입하는<img> 태그

 

 속성

값 

설명 

 src

 

 "이미지파일" (상대경로, 절대경로 등)

 

* 상대경로

 - <img src="flower.jpg">

 - <img src="../img/flower.jpg">

 - 현재 문서를 기준으로 파일 위치를 작성

 - 필수속성

 

* 절대경로

 - <img src="http://www.naver.com/flower.jpg">

 

 문서에 표시할 이미지 파일 지정 

 width

 

 "숫자" (픽셀, %)

- <img src="~" width="100">

* 단위를 지정하지 않으면 px 단위

* 기본 출력크기 = 이미지의 원래 크기

* 폭/높이 중에서 하나의 크기만 지정되면 나머지 하나는 원본 크기에 비례해서 자동으로 지정

 

 이미지의 너비(폭) 지정

 height

 

 "숫자" (픽셀, %)

- <img src="~" height="100">

* 단위를 지정하지 않으면 px 단위

 

 이미지의 높이 지정 

 alt

 

"내용" (텍스트) 

<img src="~" alt="꽃 사진입니다.">

* 이미지경로가 틀렸거나 손상이 되었을때, 대체텍스트가 나오게 된다.

 

 이미지가 표시되지 않을때 대체텍스트 지정 

 usemap

 

 "#맵이름" 

 

 클라이언트 측의 이미지맵을 지정 

 

* src = 이미지 파일의 이름/경로로 필수로 들어가야 하는 속성이다. 일반적인 이미지 파일 형식에는 gif, jpg(jpeg), png 등이 있다.

 

이미지 형식

GIF

JPG

PNG

 - 256색상 지원

 - 투명 배경 처리

 - 용량이 작음

 - 로고나 클립아트 형태의 이미지에 적합

 - 트루컬러 지원

 - 좋은 압축률 → 용량이 작음

 - 사진 이미지에 적합

 - 트루컬러 지원

 - 투명 배경 처리

 - 웹 전용 이미지 파일(빠른 화면 표시 속도)

 - 적은 색상을 가진 이미지에 적합

 


 

2. 하이퍼링크를 삽입하는 <a> 태그

 

 속성

값 

설명 

 href

 

 "이동할 위치" 

 <a href="http://nm817.tistory.com">휘두루미 티스토리</a>

 

 * <a href="#특정 위치의 이름">내용</a>

 - 같은 페이지 내에서 이동하는 경우

 

 * <a href="페이지경로#특정 위치의 이름">내용</a>

 - 다른 페이지의 특정 위치로 이동하는 경우

 

 * <a id="이동할 특정 위치의 이름">내용</a>

 - 이동할 위치를 직접지정하는 방식

 

 * <a href=mailto:이메일주소>텍스트/이미지</a>

 - 이메일 보내는 소스를 짤때 사용한다.

 

 * <a href="javascript:자바스크립트코드">

 - alert, function 등 다양한 자바스크립트 코드를 삽입할 수 있다.

 

 * <a href="파일명">텍스트/이미지</a>

 - 압축파일, 실행파일 → 다운로드

 - 음악파일, 동영상파일 → 플러그인 프로그램으로 재생

 - 음악파일과 동영상파일의 경우 download 속성을 사용하여 다운로드 기능을 넣을 수 있다.

 

 링크를 통해 이동하려는 곳의 경로/주소 지정

 

 - 기본적으로 href는 #top 속성이 있기 때문에 href="#"을 하게 되면 화면 최상단으로 이동하는 습성? 이 있다. 이런경우

 

 <a href="#none;">내용</a> 혹은

 <a href="javascript:void(0)">내용</a> 을 써주어

'링크가 정상적으로 작동하지 않게' 한다. 

 target

 

 "창의 이름"

 

 <a href="~" target="_blank"></a>

 - 새로운 창(탭)에서 링크된 문서를 엶

 

 <a href="~" target="_self"></a>

 - 현재의 창(탭)에서 링크된 문서를 엶 (default)

 

 <a href="~" target="_top"></a>

 - 현재의 창이 프레임으로 구성된 경우 모든 프레임이 사라지고 하나의 화면에서 링크된 문서를 엶

 

 <a href="~" target="_parent"></a>

 - 부모 프레임에서 링크된 문서를 엶

 

 <a href="~" target="프레임명"></a>

 - 링크된 문서를 표시할 프레임의 이름을 직접 지정

 

 링크된 내용이 표시될 창을 지정

 title

 "툴팁"

 <a href="~" title="휘두루미의 티스토리"></a>

 

 - 전역속성 (어떤 태그에서도 사용가능)

 - 추가적인 정보를 툴팁형태로 제공 

 

 download

 "파일 경로"

 <a href="#none;" download="파일 경로">내용</a>

 href 속성에 지정된 파일을 다운로드해서 저장

 HTML5에서 추가된 속성 

 

 

3. <iframe>태그와 이미지맵

 

- 현재의 웹페이지 안에 다른 웹페이지를 표시하는 창을 삽입

 

속성

값 

설명 

 name

 "이름"

 <iframe src="~" name="프레임명"></iframe>

창의 이름을 지정

* a 태그에서의 "프레임명" 과 일치하면, 해당 프레임을 보여준다.

 src

 "url" 

 <iframe src="~"></iframe>

창에 표시될 문서의 url을 지정 

 srcdoc

 "HTML코드" 

 <irame src="~" srcdoc="<p>내용</p>"></iframe>

창에서 보여줄 HTML 콘텐츠를 지정

* srcdoc가 지정되면 src속성에서 지정된 콘텐츠는 무시됨

* IE에서는 srcdoc을 지원하지 않기 때문에, src의 내용이 보여진다.

 width, height

 "픽셀"

창의 너비/높이를 지정 

 

이미지맵

 

- 하나의 이미지를 여러 개의 영역으로 나누어 각 영역마다 링크를 지정하는 것

- 이미지맵의 경우 크게 img태그, map태그, area 태그를 사용한다.

ex)

<img src="URL" usemap="#맵이름">

<map name="맵이름">

<area shape="이미지맵에서 각 영역의 모양(default, rec, circle, poly)"

   coords="각 영역을 구성하는 좌표값"

   href="url"

   target="링크된 내용이 열릴 창"

   download="href로 지정된 파일을 다운로드"

   alt="대체 텍스트 내용">

....

</map>

반응형

+ Recent posts