✔ 태그 종류
(1) div : 구역을 나누어 주는 투명 상자
(2) h : 제목
(3) img : 이미지 표시 (src 속성 : 이미지 가져올 위치 작성)
(4) p : 문단을 의미
✔ 크롬 개발자 도구로 HTML 코드 확인
크롬 개발자 도구 실행 : Ctrl + Shift + F12(I)
페이지 안 element 확인 : Ctrl + Shift + C
✔ 선택자
(1) 태그 선택자 : 작성한 모든 태그에 적용
(2) 클래스 선택자 : 여러 요소에 적용
(3) 아이디 선택자 : 하나의 요소만 적용 (우선순위 가장 높음)<h1 id="apple" class="red"> 사과 </h1> h1 {color: red;} # 태그 선택자 .red {color: red;} # 클래스 선택자 #apple {color: red;} # 아이디 선택자
✔ CSS의 인라인 / 블록 속성
- 인라인 속성 : 화면에 표현된 만큼의 영역을 차지 (ex. <span>) - 블록 속성 : 화면의 좌우 끝까지 확장된 영역을 차지 (ex. <h1>, <div>)
✔ 패딩, 마진
- 패딩 : 테두리 기존 안쪽 여백 - 마진 : 테두리 기준 바깥쪽 여백 - 위쪽, 오른쪽, 아래쪽, 왼쪽 여백으로 작성
1) google 프로젝트 생성
2) index.html 생성
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Soogle</title>
<!-- html과 css 연결-->
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1>Soogle</h1>
<form>
<input type="text" />
<button>Soogle 검색</button>
<button>I'm feeling lucky</button>
</form>
</body>
</html>
3) style.css 생성
h1 {
text-align: center; # 가운데 정렬
border: 1px solid black; # 테두리 boarder : [두께][모양][색상];
padding: 10px 40px 50px 150px; # 안쪽 여백 paddiing : [상, 우, 하, 좌];
margin: 40px 40px 50px 150px; # 바깥족 여백 margin : [상, 우, 하, 좌];
font-size: 90px; # 폰트 크기 변경
}
4) 폰트 색상 변경하기
<body> h1 span:nth-child(1) { color: #4285f4; }
<h1> h1 span:nth-child(2) { color: #ea4335; }
<span>S</span> h1 span:nth-child(3) { color: #fcc629; }
<span>o</span> h1 span:nth-child(4) { color: #4285f4; }
<span>o</span> h1 span:nth-child(5) { color: #34a853; }
<span>g</span> h1 span:nth-child(6) { color: #ea4335; }
<span>l</span>
<span>e</span>
</h1>
</body>
5) 검색 칸, 버튼 배치 변경
form {
text-align: center;
}
input{
width: 100%; # 상위 요소의 너비만큼 늘어남
max-width: 584px;
height: 44px;
border-radius: 24px; # 테두리 둥글게 만듦
margin: 25px 0 25px 0;
padding: 0 15px 0 15px;
}
input:focus { # 검색 칸이 포커스 받을 때 스타일 지정 (기본으로 검은색 두꺼운 테두리 나타지만, 안보이게 설정)
outline: none; # (기본으로 검은색 두꺼운 테두리 나타지만, 안보이게 설정)
}
button{
background-color: #f8f9fa;
min-width: 54px;
height: 36px;
border: 1px solid #f8f9fa;
border-radius: 4px;
cursor: pointer; # 버튼 위에 마우스 커서를 올리면 화살표 대신 손가락 모양이 나타남 (크롬 기준)
font-size: 14px;
padding: 0 16px 0 16px;
}
button:focus{ # 검색 칸에서 tab을 눌러 버튼에 포커스가 생기면 테두리 나타남
outline: 0.5px solid lightskyblue;
}
button:hover { # 버튼에 마우스 커서 올리면 테두리 강조됨
border: 1px solid #dfe1e5;
}
6) 검색 기능 추가
<form action="https://www.google.com/search" method="GET">
<input name = "q" type="text" />
<br /> # 공백 추가
<button>Soogle 검색</button>
<button>I'm feeling lucky</button>
</form>
<!-- head -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<!-- body -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
✔ HTML 파일에서 자바스크립트 사용
(1) HTML 외부에 자바스크립트 파일 만들기
- 웹 브라우저 개발자 도구 이용 (F12 ➡ Console)function 함수명 (데이터1, 데이터...) { 함수에서 실행할 코드 }
(2) HTML 내부에 자바스크립트 코드 작성
✔ 제이쿼리 jQuery
- 자바스크립트 라이브러리
클로킹 : "레이스"라는 전투기가 화면에서 사라졌다가, 다시 클릭하면 다시 나타남 (스타프래프트 게임의 기능 종류)
1) index.html 파일 생성
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Starcraft</title>
</head>
<body>
<!--레이스 대신 가위, 클로킹 대신 카트 사진으로 대체-->
<img src="discount2.PNG" alt="클로킹 버튼" />
<img src="cart2.PNG" alt="레이스" />
</body>
</html>
2) 제이쿼리 CDN 연결
<script src="https://code.jquery.com/jquery-3.6.1.js" integrity="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI=" crossorigin="anonymous"></script>
3) 제이쿼리에서 자바스크립트 함수 사용
<script>
$("#cloaking").click(function() {
$("#wraith").toggle();
})
</script>
✔ 라이브러리
특정 기능을 제공하는 코드를 쉽게 사용하도록 패키지화한 코드
✔ API (Application Programming Interface)
- 기능을 다른 프로그램/앱에서 편리하게 사용하도록 만든 인터페이스
- 프런트엔드와 백엔드 정보 요청시 사용하는 규칙 제공
- API 가이드
- 요청 : API 서버에 정보 검색 요청
- 주소 (API서버 주소)
- 전송방식 (GET)
- 보낼 것 (query 검색어, sort 정렬 방식, target 검색 대상)- 응답 : 찾은 정보를 웹 사이트로 회신
- 형식 (JSON) ➡ JavaScript Object Notation
- 응답 의미 설명 (title 도서 제목, contents 도서 소개, thumbnail 도서 표지 섬네일 URL)
✔ jQuery AJAX 사용 준비
- jQuery CDN 연결 ➡ body에 작성
<script src="https://code.jquery.com/jquery-3.6.1.js" integrity="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI=" crossorigin="anonymous"></script>
- 제이쿼리 AJAX로 API 호출 방법
➡ $.ajax(요청 정보).done(callback);
➡ 요청 정보 : method(요청 방법), url(요청 주소), data
➡ collback : 요청 및 응답이 완료된 뒤 실행할 함수<!-- 예시 : 호출한 후 반환 메시지를 경고 창으로 보여줌 --> <script> $.ajax({ method: "POST" url: "https://www.google.com/api/search" data: {name: "John", location: "Boston" } }) .done(function(msg) { alert(msg); }); </script>
1) 카카오 오픈 API 키 발급받기
<script>
$.ajax({
method: "GET",
url: "https://dapi.kakao.com/v3/search/book?target=title&query=클론코딩",
headers: {Authorization: "KakaoAK 5f52bcaa1002258279070b9e8c07e46b"}
})
.done(function(data) {
console.log(data);
});
</script>
4) 개발자 도구(F12) ➡ console 탭에서 응답 받은 데이터 확인
5) console이 아닌 웹 페이지에 표시
.done(function(data) {
$("body").append("<span>" + data.documents[0].title + "</span>");
$("body").append("<img src=" + data.documents[0].thumbnail + "/>");
});
6) 검색 기능 추가
<h1>API 연습</h1>
<input id="search" type="text" />
<button id="submit">검색</button>
<!-- jQuery CDN 연결 -->
<script src="https://code.jquery.com/jquery-3.6.1.js" integrity="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI=" crossorigin="anonymous"></script>
<script>
$("#submit").click(function() {
$.ajax({
method: "GET",
url: "https://dapi.kakao.com/v3/search/book?target=title&query=" + $("#search").val(),
headers: {Authorization: "KakaoAK 5f52bcaa1002258279070b9e8c07e46b"}
})
.done(function(data) {
$("body").append("<span>" + data.documents[0].title + "</span>");
$("body").append("<img src=" + data.documents[0].thumbnail + "/>");
});
})
</script>
statcounter (데스크톱 웹 브라우저 사용 현황)
1) 웹 브라우저(프런트엔드) 주소 창에 URL 입력
2) 브라우저는 자동으로 DNS 통해 입력받은 웹 페이지 주소에 해당하는 네이버 서버 컴퓨터(백엔드)를 찾아서 접속 요청
3) 서버는 요청한 브라우저에 HTML 문서 전달
4) 브라우저는 문서를 받아 해석한 후 페이지 보여줌
✔ 웹 사이트 인터넷에 공개하기
1) 웹 사이트 템플릿 Free CSS
2) index.html 열어 웹 사이트 템플릿 수정
3) netlify에 웹 사이트 업로드 netlify
✔ 도메인을 웹사이트와 연결하기
1) 카페24에서 도메인 구입
2) 도메인 입력 (구매한 도메인 - www.24tngus.shop)
3) Netflify DNS에 등록
4) 카페24에서 도메인 연결 (4개의 네임서버 변경하기)
5) 완료
✔ 네이버 검색시 웹 사이트 나타나게 하기
네이버 웹 마스터 도구에 사이트 등록
++ 카페24에서 도메인 등록 요청 대기중
(Do it) 조코딩의 프로그래밍 입문