본문 바로가기

category_1/CSS

230302 UI디자인,html01

웹 표준,웹 호환성,웹 접근성 

1.웹 표준

-웹 기술을 표준화하기 위한 일련의 단계와 요구사항,W3C에서 나온 권고안을 사용하는 것

-웹 문서의 구조와 표현,동작을 구분해서 하용하는 것

-웹 표준을 준수?HTML,CSS,자바 스크립트 준수함

-W3C 표준화 제정 단계 : 초안,후보 권고안,제안 권고안,권고안

->브라우저 구성요소:브리우저 엔진 / 웹 페이지를 구성하는 HTML,CSS등 자료를 해석해서 사용자의 장치에 맞게 변환하는 역할

->엔진은 웹 표준에 의거하여 프로그래밍 하기 때문에 따라서 코드 작성 시,웹 표준에 맞게 코드를 작성해야 브라우저가 정상적으로 읽을 수 있다,

->웹 표준의 코드에 맞춰서 브라우저 엔진을 프로그래밍 해야 한다.

-크로스 브라우징:여러 브라우저에서 동일한 화면,동작 등 을 보여줄 수 있도록 제작하는 기술 또는 방법

-브라우저의 기본 인터페이스 명칭 

`뷰포트:하나의 웹 페이지가 출력되는 영역

->출력:**렌더링:브라우저의 뷰 포트(북마크) 영역에 웹 사이트를 출력,그려내는 것

 

※여기서 ** 는 keyword

※면접 / W3C관련 질문 / 웹 표준에 대해 지식이 있고, 이해를 하고 있는지?

 

2.웹 접근성 

-장애를 가지신 분들도 웹 사이트를 이용할 수 있게 하는 방식

 

3.웹 호환성

-웹 사이트가 작동하는 서비스 이용자 단말기(PC 모바일 등),다른 환경에서도 동등한 서비스를 제공하는 것

 

4.UI

-UI디자인 : 화면의 모양이나 기능 등 표현하는 것

-사용자가 마주하게 될 시각적인 디자인을 말한다

-목적:일관성을 확보하는 것

 

5.웹

-인터넷이 연결된 사용자들이 서로 정보를 공유하는 공간

-웹 브라우저를 통해 접근할 수 있는 사이트를 웹 사이트라고 한다

-internet>web

-www / w3 라고 부른다

 

6.웹 브라우저

-어떤 사이트에 접속할 수 있는 도구를 브라우저 또는 웹브라우저

-종류:크롭,엣지(MS),파이어 폭스,사파리 등

 

7.웹 개발

-웹 사이트를 만드는 것

1)정적인 사이트

-사용자에게 단순한 정보를 보여주는 것

2)동적 사이트

-화면에 보이는 모습 뿐 만 아니라 사용자에게 제공할 기능과 서비스 까지 포함한 사이트

-예)쇼핑몰에서 상품을 장바구니에 담는 행위

3)백 엔드

-보이지 않는 정보를 처리

-서버에서 데이터를 관리하는 프로그래밍

-데이터베이스를 설계하거나,데이터를 처리하는 영역

4)프론트 엔드(클라이언트)

-눈에 보이는 화면

-웹 사이트의 디자인,사용자 동작에 반응하는 기능을 만든다

-서버에서 받아온 데이터를 웹 브라우저에 어떻게 표시할 것 인지 프로그래밍 한다(HTML,CSS,JS)

 

8.서버(제공하는 역할)

-따라서,제공받는 역할:클라이언트

-유투브->서버 라고 부르는 컴퓨터에 들어있는 내용들

-제공하는 역할

-예)관광지 어플-갈만한 곳:전주 한옥,덕진공원 등

`관광지 어플:서버역할---나:클라이언트

`덕진 공원 위치:맵 / 맵은 지리정보 서버에게 정보를 제공 하기 때문에 / 맵:서버---관광지어플:클라이언트

`서비스를 제공하는 컴퓨터:서버---그 서비스를 받는 컴퓨터:클라이언트

 

9.웹 동작 방식

-웹 앱=웹 어플리케이션=인터넷을 통해 웹브라우저에서 이용할 수 있는 응용프로그램

-웹 앱 : 홈페이지

-사용자 --- 서버

1.브라우저를 연다

2.주소창에 접속을 원하는 사이트 주소를 입력한다

3.해당 사이트의 주소에 맞는 서버로 최초 요청이 들어간다.

4.최초응답:기본적인 웹 사이트 구조를 담고 있는 HTML파일로 응답

5.작성된 HTML에 맞는 이미지,CSS파일 등 서버로 추가 요청을 보낸다

6.새로운 파일들(페이지를 구성하는)을 보내준다

**웹 사이트를 개발:우리 컴퓨터 환경을 로컬(local)개발 환경

 

* HTML

-HTML은 기본적으로 의미를 가지고 있습니다. 자주 사용하는 HTML요소와 해당 요소들을 가지고 실제 CSS와 JS를 통해 어떻게 웹사이트를 만들 수 있는지 알아야 한다

-HTML(Hyper Text Markup Language)

Hyper Text : 문서를 연결해주는 링크

- 웹페이지를 작성하기 위한 언어 

-HTML5 특징

`시멘틱 테그를 지원한다 / 시멘틱 : 의미있는 의미

`문서 구조에 적합하게 웹 페이지를 설계할 수 있다

`직관적으로 레이아웃을 작성할 수 있다

 

<div> <header> <main> <article> <footer>

-웹 개발:웹 편집기를 통해 소스를 작성하고,웹 브라우저에서 결과를 확인한다

-웹 편집기 종류:notepad+

 

※코딩에서 들여쓰기(기본)

-코드의 가독성을 위해

-협업

-나를 감싸는 중괄호{} 1개=탭1번

->예)if{

 

}

-HTML 기본 구조

1.HTML에서 사용하는 명령어-태그(Tag)라고 합니다

<...>로 나타내며,대부분 한 쌍으로 이루어져 있다

HTML문서는 웹 브라우저에서 실행된다 - 웹 표준을 준수 - 브라우저 엔진(표준) - 정상적으로 읽을 수 있다(정상적으로 뷰 포트 영역에 렌더링)

기본 코딩문

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="utf-8" />
        <title>table 요소</title>
    </head>
    <body>

    </body>
</html>

<!DOCTYPE html>  ! : 선언하다 / 브라우저에게 이 문서는 HTM5문서이다.
<html></html> 브라우저에게 HTML문서의 시작과 끝을 알려준다
<head></head>헤드 영역은 해당 페이지에 대한 정보를 서술하는 공간 입니다
웹 페이지에 단 하나만 존재.브라우저 실행 화면에는 보이지 않는다.
쉽게 말해 설정 정보를 작성하는 영역
예)title,meta,link,style,script
<title>탭에 보이는 웹 페이지의 제목 표시
<meta> 해당 문서에 대한 정보를 기술한다
<meta charset="usf-8"/>언어 설정
 

*문자셋 종류

ASCII:미국 정보 교환 표준 부호

EUC

-ASCII가 아닌 국가 별 문자 표현을 위해 만들었다.

-중복되는 영역이 발생-->하나의 시스템에서 여러 문자셋을 사용할 수 없다

-한국은 EUC-kr,JP,CN

 

위 문제를 해결하기 위해 Unicode를 만들었다

 Unicode-Unicode는 모든 문자를 표현할 수 있다

-하나의 문자셋 안에 전 세계 모든 문자를 넣어서 사용한다
-UTF-8
 

네이버 화면 - F12 - <head></head>삭제 - 개발자모드

--
<body
-바디영역에 작성한 내용이 브라우저 실행 화면에 보인다
HTML tag

1.텍스트와 관련된 태그들

1)제목을 표시하는 h*

*h1 태그는 모든 페이지에 하나만 작성해야 한다.(웹 표준)

2)굵은글씨

 

차이:b태그는 단순한 굵은 글씨,strong태그는 실제 페이지에서 더 중요한 내용을 표기할 때 사용하며

3)이텔릭체(기울어진글씨)

차이:em태그는 문장의 흐름에서 특정 부분을 강조하고 싶을 때

 

 

4)문단을 나타내는 p

 <p>

          </p>

5)밑 줄,취소선

 <u>밑줄</u>

      <s>취소선</s>

6)작은글자,큰글자

7)강제공백 ※자주 질문

&nbsp!

8)주석

<!---->

2. 미디어 관련 태그

video

src 경로작성

이미지 img

src 경로 작성

 

3.링크 관련 태그

-하이퍼링크:클릭하면 해당 페이지로 이동

-href 경로 작성

4. table

-테이블은 table 태그로 시작,끝

실수한 부분....... <td></td> 하지말좌........

 

 

6.input : 사용자에게 어떠한 정보를 입력 받을 때 사용한다

(종류 많음)

 

--

***요소와 속성

1.요소
<h1>안녕하세요</h1>--->h1 요소
★요소(element):태그와 태그 사이에 있는 내용을 포함하여 요소라고 한다
내용 앞 태그를 시작(열린)태그,뒤 태그 종료(닫는)태그
*태그 사용시,대소문자를 구별하지 않는다.단,W3C에서 소문자를 권장하고 있기 때문에 소문자를 사용하는 것이 일반적인 방법이다
 

2.빈요소(empty element)

-내용을 가질 수 없는 요소를 빈 요소 라고 한다

예)<br> <input> <link> 등

 

3.속성(attributes)

태그가 가질 수 있는 정보를 속성이라고 한다

태그 내부에 속성을 부여하고,값을 넣을 수 있다

속성 작성 시,시작 태그에 작성해야한다.

HTML에는 태그마다 지정할 수 있는 속성이 미리 정의되어 있다

 

4.전역 속성

1)id

-요소를 가르키는 이름을 작성한다

-중복된 이름(id)을 사용할 수 없다 / 이름 중복 불가능

2)class

-요소를 가르키는 이름을 작성한다

-이름 중복 가능

 

div id headerdiv id footerdiv id maindiv

 

3)style:요소에 스타일을 지정할 수 있다

--

*table요소-행과 열로 구성된 표를 만들 때 사용하는 요소 입니다
-th:<th></th> /thead:표 상단을 담당합니다
-tr:<tr></tr> / table row :행,한 줄

-tbody:표의 본문

-td:<td></td>/table date:열,한칸의 cell data 표현합니다/.

 

실습적용(스스로4x5표 만들기)

*행(가로)병합 과 열(세로)병합

*행 병합

-세로로 합쳐진다

-데이터를 가로 방향으로 읽는다

*열 병합

-셀이 가로 방향으로 병합

-데이터를 세로 방향으로 읽는다

열 병합<td rowspan="3">2<td>

행 병합<td colspan="3">2<td>

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="utf-8" />
        <title>table 요소</title>
    </head>
    <body>
<table border="1">
   

    <h2>실습2

</table>
<table border="1" style="width: 500px; height: 500px;">
<thead>
    <tr>
        <th>1</th>
        <th>2</th>
        <th>3</th>
        <th>4</th>
        <th>5</th>
        <th>6</th>
        <th>7</th>
        <th>8</th>
        <th>9</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>1</td>
        <td rowspan="2">2</td>
        <td>3</td>
        <td>4</td>
        <td colspan="3">5</td>
        <td>8</td>
        <td rowspan="4">9</td>
    </tr>
    <tr>
        <td rowspan="2">1</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
        <td>6</td>
        <td colspan="2">7</td>
    </tr>
    <tr>
        <td>2</td>
        <td colspan="3">3</td>
        <td>6</td>
        <td>7</td>
        <td>8</td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td colspan="4">4</td>
        <td>8</td>
    </tr>
</tbody>
</table>
</body>
</html>

--

*사용자에게 입력 받는 input

-사용자가 데이터를 입력하는 요소,type속성으로 입력 받을 데이터 타입을 정할 수 있다.

-name속성으로 해당 input의 이름을 명시한다.

***name속성으로 해당 input의 이름을 명시한다

***value속성으로 input의 초기값을 명시한다

왜 중요?name속성:form데이터를 서버로 전송하면,서버에서 받을 때 name데이터로 받는다.실제 값은 value값이 들어 있다.

즉------받을땐,name / 실제값은,value

Id <input type="text" name="used">
 
*label

-input 태그와 관계(연결)를 맺을 수 있습니다

-input태그가 무엇을 말하는지 제목을 명시할 수 있다

-label 태그를 사용하면 사용자가 클릭할 수 있는 범위를 확장할 수 있다

-label의 사용방법

1)input 태그를 감싸기

2)input id속성의 값과 label for속성에 동일한 값을 작성하기

***사용자 측면에서 label을 사용하는 것 이 편리하다***

<input type="checkbox" name="userAddr" value="seoul">서울
 

*힌트를 표시하는 placeholder 속성

-사용자가 입력 할 안내문 역할

-사용자의 입력 실수를 최소화 한다

*비활성화,disabled

-입력 요소를 비활성화 할 수 있다

 <input type="text" placeholder="-기호를 빼고 입력해주세요."
 ID          <input type="text" value="id001">
        PW          <input type="text">
        NAME        <input type="text">
 

*읽기 전용,readonly

-사용자가 입력은 할 수 없지만,읽는 것 만 가능한 읽기 전용 필드

--

*input type 종류

-HTML5에서는 용도에 맞게 입력할 수 있는 다양한 텍스트 필드를 제공합니다

 

*text(많이 쓴다)

-maxlength:최대길이

-minlength:최소길이(최소 길이 위반 시,서버로 전송 거부)

        최대 <input type="text" maxlength="20">
        최소 <input type="text" minlength="3">
PW <input type="password">
        mail <input type="email">
        number <input type="number">
        date <input type="date">
        time <input type="time">

*tel

-PC 브라우저에서는 큰 변화가 없어 보이지만,모바일 기기에서는 키보드 배열이 바뀐다

*file

-accept:받을 파일의 종류를 설정

-multiple:여러 파일을 선택할 수 있는 속성

*hidden

-화면에는 보이지 않지만,서버로 전송되는 요소(많이 쓴다)

-사용자에게 보여줄 정보는 아니지만,관리자 / 개발자가 알아야하는 정보를 hidden필드에 입력한다.

*radio

-택1.사용자에게 체크 여부를 해당 그룹에서 1개만 입력 받는다.

-동일한bame속성을 작성하여 그룹으로 묶을 수 있다

-value값은 실제 서버에 전송되는 값>예시에서는 한글로 작성했지만,실제 코딩 시,영어 또는 숫자로 작성한다.

*checkbox

-사용자에게 체크 여부를 입력 받는다(상단에 자세한 설명 있음)

<html lang="ko">
    <head>
        <meta charset="utf-8"/>
        <title>input</title>
    </head>
    <body>
        <fieldset>
            <legend>일본 여행지 선택</legend>
            <h3>가고 싶은 여행지를 선택하세요.</h3>
            <label>
                <label for="addr">
            <input type="checkbox" name="userAddr" value="Tokyo"> Tokyo
            <input type="checkbox" name="userAddr" value="Okinawa"> Okinawa
            <input type="checkbox" name="userAddr" value="Osaka"> Osaka
            <input type="checkbox" name="userAddr" value="Sapporo"> Sapporo
            </label>
            <h3>여행 구분</h3>
        </label>
        <label for="addr">
        </label>
            <input type="checkbox" name="addr" value="trip"> 혼자 여행!
            <input type="checkbox" name="addr" value="pakagea"> 패키지!
            </fieldset>
    </body>
</html>

 

--

*textarea

-장문의 텍스트 데이트를 받을 때 사용합니다

-너비를 지정하는 cols 속성과 몇 줄을 표시할지 정하는 rows속성을 사용한다

-예) cols="20"-->20글자 만큼의 너비를 입력할 수 있어요(X) 한글로 약 10글자 정도

*select

-사용자가 여러 데이터 중 1개를 선택할 수 있습니다

-radio와 차이는 드롭 다운 기능을 제공한다

-option태그와 함께 사용한다

-select 태그는 value 속성을 가질 수 없고,name속성은 가질 수 있다.option태그는 value속성을 가질 수 있다.

 

 

 

 

 

 

Recent Posts
Popular Posts
Calendar
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31