⚠️ 해당 게시글은 모던애자일 팀원이 준비한 테크톡 내용을 스크랩했습니다.

출처 : 모던애자일 3기 이하람 블로그

 

2022.01.06 - HTML, CSS, JavaScript

 

lami.tistory.com

HTML, CSS, JS

HTML, CSS, JS를 웹에서만 사용하는 것은 아니다.

React Native ⇒ 모바일

Electron ⇒ 데스크톱 애플리케이션

HTML, CSS, JS를 비유해보자.

  • HTML: 뼈
  • CSS: 옷과 피부
  • JS: 움직일 수 있게 해주는 뇌와 근육

HTML

  • Hypertext Markup Language
  • 웹페이지가 어떻게 구조화되어 있는지 브라우저에게 알려주는 마크업 언어
  • HTML은 여러 개의 element로 구성되어 있음
  • 태그를 많이 사용하면 각각 무슨 역할인지 알기 어려움 ⇒ 시맨틱 태그를 이용하자.

element란

시맨틱 구조

HTML 구조

  • <!DOCTYPE html> : 최신버전의 html을 사용한다는 선언
  • <html lang=”ko”> : html의 시작을 알리는 태그, lang=”ko” 를 명시해서 한국어로 보여진다는 것을 알려줌
  • <head> : 사용자에게 보이지 않는 웹의 정보를 적는 곳
  • <body> : 사용자에게 보여지는 곳

CSS

  • Cascading Style Sheets
  • Cascading : ‘폭포처럼 떨어져 내리는’

HTML과 CSS 연결하기

)

결과

위 기본 코드에서 style을 연결해보자.

1. 인라인 스타일

)

2. 내부 스타일

)

3. 외부 스타일

)

만약 앞에서 했던 효과들을 동시에 적용한다면?

  • 정답CSS는 Cascading 방식이기 때문에 위에서부터 적용되고 최종적으로 제일 아래에 있는 인라인 스타일이 적용된다.

JS

  • JavaScript
  • 웹페이지에 생동감을 불어넣기 위해 만들어진 프로그래밍 언어

HTML과 JS 연결하기

1. 인라인

2. 내부

3. 외부

  1. body 태그의 끝 부분에 js 파일 연결하기
    • 실행 순서 : html 파일 → js 파일 다운/실행

  1. head 태그에 js 파일 연결하기
    • 실행 순서: html 파일 → js 파일 다운/실행 → 남은 html 파일

  1. script 태그에 async 속성 사용하기
    • 실행 순서: js 파일의 크기나 다운로드 속도에 따라 다름

  1. script 태그에 defer 속성 사용하기 ⇒ 제일 많이 쓰이는 방법
    • 실행 순서: html 파일 → js 파일 선언한 순서대로

코드 보기

// index.html

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <link rel="stylesheet" href="style.css" />
    <script defer src="index.js"></script>
  </head>
  <body>
    <div>
      <input type="text" />
      <button>버튼</button>
    </div>
  </body>
</html>
// style.css

body {
  width: 100%;
  height: 100vh;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  width: 400px;
  height: 200px;
  background-color: rgb(103, 195, 231);
}

input {
  border: none;
  background-color: antiquewhite;
  width: 200px;
  height: 40px;
  margin-bottom: 20px;
  font-size: 15px;
}

button {
  border: none;
  border-radius: 10px;
  width: 200px;
  height: 40px;
  cursor: pointer;
  font-size: 20px;
}
// index.js

const btn = document.querySelector('button');
const input = document.querySelector('input');

btn.addEventListener('click', () => {
  alert(input.value);
});
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기