본문 바로가기
자격증/웹디자인기능사

코딩웍스 웹디자인기능사 강의 필기

by VANAV 2022. 3. 28.

코딩웍스 웹디자인기능사 인강


 

1강 - 제이쿼리(jQuery) 시작하기(폴더구조, 링크방법)

 

제이쿼리 링크하는 방법
  1. body 안에 직접 링크 (계층구조가 줄어듦 - 시험때 추천)
  2. head 안에 링크 (function 안에 제이쿼리 작성해줘야함)



jquery-1.12.4.js = 오픈소스 파일(우리가 수정하는게 아니다 - 집에서 셀프로 하려면 다운 받는 등 다양한 방법이 있다.)
custom.js (우리가 수정하는 파일)

=> 두가지 파일을 script 폴더를 생성하여 넣어놓기!!!
☆ jquery-1.12.4.js (제이쿼리 오픈소스파일(시험때 제공)) 이 우리가 만드는 custom.js 보다 먼저 나와야한다!!!!

★ 순서 틀리면 실행되지 않음 ★



기본 폴더 구조

* css 폴더
  -- style.css

* images 폴더
  -- 우리가 포토샵에서 제작한 이미지 들어감

* script 폴더
  -- custom.js
  -- jquery-1.12.4.js (윈도우 탐색기에서 jquery 오픈소스 파일을
찾아서 복사-붙여넣기 해줘야함)

* index.html



기본 HTML 구조

<!DOCTYPE html>
<html lang = "ko">
<head>
    <meta charset ="UTF-8">
    <title>웹디실기</title>
    <link rel ="stylesheet" href="css/style.css">
</head>
<body>

여기서부터 HTML내용입니다.

<script src="script/jquery-1.12.4.js"></script>
<script src="script/custom.js"></script>

</body>
</html>




2강 - 제이쿼리 필수 핵심이론(기본 구문 만들기, 선택자)

$('선택자').함수(function(){
실행구문;
})

* 선택자 = css에서의 선택자 같은 느낌
* 함수 = 마우스를 올릴지/누를지 등의 이벤트를 지칭한다고 생각하면
쉽다.
* 실행구문 = 함수를 실행하면 작동될 동작



** body 태그가 끝나는 부분에 제이쿼리, js 링크하기.
*** 순서에 주의



제이쿼리 필수 핵심이론 - 기본 구문 만들기

$('선택자').함수(function(){
$('선택자').메서드();
});
*** ex>
$('.btn').click(function(){
$('.modal').fadeIn();
});

 

** 제이쿼리 함수와 메서드 종류는 많지만 기재한 함수와 메서드로 웹디자인기능사 실기시험 모든 모듈을 충분히 구현할 수 있습니다.



선택자 종류

- CSS 클래스 선택자

- CSS 아이디 선택자

- CSS 태그 선택자

- this

 

필수 함수 종류

- click

- mouseenter

- mouseleave

 

필수 메서드 종류

- slideDown()

- slideUp()

- stop()

- show()

- hide()

- fadeIn()

- fadeout()

- addClass()

- removeClass()

- children()

- siblings()

 

* 제이쿼리 메서드는 단어가 2개 이상 붙어서 사용되면 2번째 단어 첫글자는 꼭!! 대문자로 표시

 

 


 

 

3강 - 제이쿼리(jQuery) 필수 핵심이론(함수)

 

$('.hide_btn').click(function(){

    $('div').hide();

});

 

** a링크 안에 아무것도 없으면 제이쿼리가 작동하지 않습니다!!!

** 시험에서 레이어팝업(모달창) 띄울때는 click, 네비게이션 만들때는 mouseenter, mouseleave

 


 

4강 - 제이쿼리 필수 핵심이론(메서드)

 

$('선택자').함수(function(){

    $('선택요소').메서드();

});

 

■ 메서드(이펙트)

- .show()

- .hide()

- .slideDown()

- .slideUp()

- .fadeIn()

- .fadeOut()

- .stop()

 

■ 메서드(클래스 제어)

- .addClass()

- .removeClass()

-. toggleClass()

 

■ 메서드(요소 탐색)

- .children()

- .parent()

- .siblings()

- .find()

- .next()

- .prev()

 


 

 

5강 - 제이쿼리(jQuery) 필수 핵심이론(효과 메서드 - slideDown, slideUp, fadeIn, fadeout)

 

보이기 감추기(show, hide) 효과

메서드 설명
.show() 선택요소 보이기
.hide() 선택요소 감추기
.toggle() 선택요소 보이기/감추기
.slideDown() 선택요소 서서히 보이기
.slideUp() 선택요소 서서히 감추기
.slideToggle() 선택요소 서서히 보이기/감추기

** toggle(의미) = 버튼 하나가 두 가지 기능을 하는 것

 

 

페이드(fade) 효과

메서드 설명
.fadeIn() 선택요소를 페이드로 나타나게 하는 효과
.fadeOut() 선택요소를 페이드로 사라지게 하는 효과
.fadeToggle() 선택요소를 페이드로 사라지고 나타나게 토글(toggle)

** fadeIn(지속시간) , fadeOut(지속시간)  ※ 지속시간을 넣지 않으면 기본값이 적용됩니다.

* 지속시간 넣는 두 가지 방법

    - 단어 : fast / slow (ex> fadeIn('fast'), fadeOut('slow'))

      ★ 주의점: (괄호) 안에 속도를 단어로 넣을 땐 반드시 ' ' 안에 넣기!!

    - 숫자 : (ex> fadeIn(500), fadeOut(2000))

      ★ 주의점: (괄호) 안에 속도를 숫자로 넣을 땐 반드시 ' ' 없이 넣기!!

 


 

 

6강 - 제이쿼리(jQuery) 필수 핵심이론(클래스 제어 메서드 - addClass, removeClass)

 

클래스(class) 넣기 빼기

메서드 설명
.addClass() 선택요소에 클래스 넣기
.removeClass() 선택요소에 클래스 빼기
.toggleClass() 선택요소에 클래스 넣고 빼기(toggle)

** 넣고 빼는데 쓰일 선택자(active) 작성할 때 앞에 경로 적고 그 경로 뒤에 바로 .active 붙여서(띄어쓰기 금지) 적어주기

*** 클래스 제어 메서드 3가지의 괄호 안에 ' . ' 와 함께 클래스명을 쓰면 안됨!!!

 


 

 

7강 - 제이쿼리(jQuery) 필수 핵심이론(요소탐색 메서드 - children, siblings)

 

$('선택자').함수(function(){

    $('선택요소').메서드();

})

탐색 메서드의 기준점은 function 내부의 선택요소 부터 시작함!

 

요소 탐색

메서드 설명
.children() 선택요소의 바로 아래 단계인 자식요소만 선택
.siblings() 선택요소의 형제요소 선택

* .children() = 슬라이드 메뉴 만들때 많이 사용

* .siblings() = 공지사항/갤러리 선택된 걸 표시할 때 많이 사용

*** .stop() = 축적된 이벤트 큐 삭제해줌!

 


 

 

[최종본 제작 유의사항] 수험자 세부 지시사항에서 갤러리 이미지 투명도 변화시키기

 

** 갤러리 이미지의 투명도(Opacity)에 변화를 주어야 하는 공개도면은 A4, B3, C3 입니다.

** 가상선택자 :hover 사용해서 해결 (+ 옵션으로 transition 사용하면 더 좋음)


[최종본 제작 유의사항] 상단 네비게이션의 서브메뉴가 슬라이드 아래로 숨는 문제 해결하기

 

* 네비에 메인 부분이 밀리는 이유 : 네비가 속한 header 부분에 height 값을 주지 않았기 때문임.

    -> 높이값을 주면 밀리지 않는다.

 

* 서브메뉴가 슬라이드 아래로 숨는 이유 : 슬라이드에 position 속성이 있기 때문(position 속성이 있는 태그가 다 위로 올라오게 되는 성질이 있다.)

    -> 슬라이드에 z-index:-1 을 줘서 해결하면 안된다(그렇게 하면 슬라이드 클릭이 안됨 - a태그 마우스 이벤트가 사라진다)

일단 header에 position relative 를 주고(슬라이드와 같은 상황으로 만듦), z-index:10 을 주어 해결한다. (z-index 기본값 = 0)

 


 

 

공개문제 수험자 지시사항 주요항목 체크(A타입~C타입 공통)

 

* 5MB 용량이 초과되지 않게 하기 - 초과될 수가 없다!! (걱정 ㄴㄴ)

* HTML5 기준 웹 표준을 준수

* 메인페이지를 디자인하고 HTML, CSS, JavaScript 기반의 웹 페이지를 제작한다. (jQuery 오픈소스, 이미지, 텍스트 등 제공된 리소스를 활용하여 제작할 수 있다.)

* HTML, CSS의 charset는 utf-8로 해야한다.

* 컬러 가이드 : 배경색, 기본 텍스트의 색은 적힌대로 따르면 되고 주조색과 보조색이 나와있다면 css 입힐 때 사용하면 된다.

 

[세부 영역별 지시사항 - 사이트맵]

* 사이트 맵 : 표에 제공된 텍스트를 이용해 제작하기. 

 

[와이어프레임 제작]

* 타입별로 최종본이 있다(참고)

 

[로고]

* 가로세로 200px*40px 포토샵에서 이 사이즈의 캔버스 열어서 제작하면 됨.

* 심벌 없이 로고명을 포함한 워드타입으로 디자인한다. - 텍스트형태의 로고를 제작하면 됨

 

[메뉴 구성]

* 사이트 구조도를 참고하여 메인 메뉴(main menu)와 서브 메뉴(sub menu)로 구성한다.

    - 메인 메뉴(main menu) 효과 [와이어프레임 참조]

        + 메인 메뉴 중 하나에 마우스를 올리면(mouse over) 하이라이트 되고, 벗어나면(mouse out) 하이라이트를 해제한다. -> '하이라이트' 라는 의미는 :hover 가상클래스로 '마우스 올렸을 때 디자인을 변경한다' 입니다.

        + 메인 메뉴를 마우스로 올리면(mouse over) 서브 메뉴 영역이 부드럽게 나타나면서, 서브 메뉴가 보이도록 한다.

-> 마우스를 올렸을 때 서브 메뉴가 slideDown 되게 하라는 말.

     - 서브 메뉴 영역 효과

        + 서브 메뉴 영역은 메인 페이지 콘텐츠를 고려하여 배경색상을 설정한다.

        + 서브 메뉴 중 하낭 마우스를 올리면(mouse over) 하이라이트 되고 벗어나면(mouse out) 하이라이트를 해제한다. (hover 하라는 말)

        + 마우스커서가 메뉴 영역을 벗어나면(mouse out) 서브메뉴 영역은 부드럽게 사라져야 한다. (메인메뉴 효과 마지막 항목과 겹치는 내용)

 

[슬라이드 이미지 제작]

* [Slide] 폴더에 제공된 3개의 이미지로 제작한다.

* [Slide] 폴더에 제공된 3개의 텍스트를 각 이미지에 적용하되, 텍스트의 글자체, 굵기, 색상, 크기를 적절하게 설정하여 가독성을 높이고, 독창성이 드러나도록 제작한다.

 

- 위에서 작업한 결과물을 이용하여 슬라이드 작업을 한다.

- 이미지만 바뀌면 안되고, 이미지가 위에서 아래 또는 아래에서 위로 이동하면서 전환되어야 한다.

(이 파란부분은 다 다를 수 있다!!! 문제 볼때 유의)

- 슬라이드는 매 3초 이내로 하나의 이미지에서 다른 이미지로 전환되어야 한다.

- 웹사이트를 열었을 때 자동으로 시작되어 반복적으로(마지막 이미지가 슬라이드 되면 다시 첫 번째 이미지가 슬라이드 되는 방식) 슬라이드 되어야한다.

 

[공지사항]

* 공지사항 타이틀 영역과 콘텐츠 영역을 구분하여 표현해야 한다.

* 콘텐츠는 Contents 폴더의 제공된 텍스트를 적용하여 제작한다.

* 공지사항의 첫 번째 콘텐츠를 클릭(Click)할 경우 레이어 팝업창(Layer Pop_up)이 나타나며 닫기 버튼을 누르면 해당 팝업창이 닫혀야한다.

 

[와이어프레임 참조]

* 레이어 팝업의 제목과 내용은 Contents 폴더의 제공된 텍스트 파일을 사용한다.

 

[갤러리]

* Contents 폴더의 제공된 이미지 3개를 사용하여 가로방향으로 배치한다.

 

[와이어프레임 참조 = 탭 메뉴 제작에만 해당됨(탭메뉴 없으면 무시해도 무방).]

* 공지사항과 갤러리는 탭 기능을 이용하여 제작하여야 한다.

* 각 탭을 클릭(Click) 시 해당 탭에 대한 내용이 보여야 한다.

 

[와이어프레임 참조 - 배너]

* Contents 폴더의 제공된 파일을 활용하여 편집 또는 디자인하여 제작한다.

 

[바로가기]

* Contents 폴더의 제공된 파일을 활용하여 편집 또는 디자인하여 제작한다.

 

[푸터]

* (로고가 있는타입/없는타입 두가지이다 - 없으면 이 항목은 따르지 않아도 된다.) 로고를 grayscale(무채색)으로 변경하고(무채색 로고 이미지 파일도 하나 제작하여야 한다는 말) 사용자의 접근성을 고려하여 배치한다.

* Footer 폴더의 제공된 텍스트를 사용하여 Copyright, SNS(3개)를 제작한다.

 

[기술적 준수 사항]

* css, js 코드는 파일을 따로하여 작성

* 상호작용이 필요한 모든 콘텐츠(로고, 메뉴, Slide, 공지사항, 갤러리 등)는 임시링크(예:#)되어야 하며 'Tab' 키로 이동할 수 있어야 한다. (결론적으로 말하면 이미지를 넣으면 모든 이미지 태그를 a 태그로 감싸라는 말!!)

* 모든 이미지에는 이미지에 대한 대체 텍스트를 표현할 수 있는 alt 속성이 있어야 한다.

* Internet explorer 10↑, Chrome 최신 버전에도 동일하게 표시되어야 함

 

[제출방법]

* 주의점: ai, psd 파일이 폴더에 포함되지 않게 주의한다(용량초과 위험).

 


 

 

CSS로 HTML 요소 가로 배치하기(float, overflow, clear, inline-block)

 

* float 속성은 요소가 부모요소 기준으로 왼쪽 또는 오른쪽에 배치할지 지정합니다.

* margin: auto - 인라인, 인라인 블록 요소는 적용 X (블록 요소만 적용됨)

 

* float 속성이 적용되면 다음 요소가 float 속성을 상속받는데 이것을 해제 시킨다.

float: none
float: left float: right
clear: both

clear: left | right | both

* left: 왼쪽으로 배치된 float 속성 상속을 해지

* right: 오른쪽으로 배치된 float 속성 상속을 해지

* both: 왼쪽 또는 오른쪽으로 배치된 모든 float 속성 상속을 해지

 

가로배치 2가지 방법

1. float와 overflow를 사용해 배치 (1px 도 오차 없이 하고 싶을 때 적합)

2. display: inline-block으로 배치 (약간의 오차도 상관없을 때 적합)

 

*** 인라인 요소를 중앙정렬하려면 인라인 요소의 부모태그에 text-align: center 를 주면 된다.

 


 

 

레이어 팝업(모달창) 제작 완벽분석

 

* 레이어 팝업창 == 모달창 == 모달 팝업창 (일반적으로 3가지 모두 같은 의미로 이해하기)

* 레이어 팝업창은 별도의 브라우저 탭이 뜨는 것이 아니라 HTML 안에 div 내용이 뜨는 것

* 레이어 팝업창은 12가지 타입 모두 있어야 하고 동일한 형태와 기능으로 만들어집니다.

  - 1. HTML로 내용과 구조 만들기 / 2. CSS로 디자인 배치하기 / 3. 제이쿼리로 상호작용 하기

** 애니메이션으로 띄우라고 지사사항에는 없지만 제이쿼리 fadeIn과 fadeOut으로 레이어팝업창을 띄운다.(기본 제작은 show() hide()로 먼저 제작)

 

 

공지사항, 갤러리 탭으로 구성, 탭으로 구성 완벽분석

 

* 공지사항, 갤러리 탭 메뉴 제작유형은 2가지 타입 : 별도로 구성하기, 탭으로 구성하기

 

네비게이션 5가지 타입 완벽분석

 

1. 왼쪽 개별 네비게이션

2. 왼쪽 개별 우측고정 네비게이션

3. 상단 개별 네비게이션

4. 상단 메가메뉴 네비게이션

5. 상단 메가메뉴 네비게이션(배경 포함)

 

* 1번 만들 수 있으면 다 만들 수 있음

 

레이아웃 12가지 타입 완벽분석(가로 고정형, 가로 100%, 세로 2컬럼)

 

* 레이아웃 기본형 스타일 3가지 : 1) 가로 고정형 / 2) 가로 100% 형 / 3) 세로 2컬럼

    + 푸터 4타입 => 12가지

 

CSS 애니메이션 필수 핵심 이론(keyframes, animation)

 

* 이미지 슬라이드 유형 : 1) 왼 - 오 / 2) 위 - 아래 / 3) cross fade 애니메이션

*** 슬라이드 타입은 CSS로 제작하면 편함 ***

 

.slide{

    animation : slider(애니메이션 이름) 10s(n초 동안) linear infinite;

}

 

@keyframes slider{

    0% {left:0;}

    28% {left:0;}

    32% {left:-1000px;}

    60% {left:-1000px;}

    65% {left:-2000px;}

    93% {left:-2000px;}

    100% {left:0;}

}

 


 

 

레이어 팝업(모달) 제작하기 강좌

 

* 모든 구조의 맨 마지막(body 태그 닫는 부분의 바로 위)에 따로 HTML 코드 작성

* modal : height : 100vh (vh = 강제로 100%를 유지시킴) / position : absolute / display: none;

* modal-inner : 정렬 = top:50%; left:50%; transform:translate(-50%, -50%);

 


 

 

※ 총 정리

- 제이쿼리 암기해야하는 부분 : 네비게이션메뉴, 탭메뉴, 모달창

- 필수로 구현해야하는 부분 : 이미지 슬라이드(CSS)

- 포토샵으로 만들어야 하는 것 : 배너, 바로가기, 로고

 

댓글