์ด์ ๋ HTML๋ฅผ ์ฌ์ฉํ์ฌ ์น ํ์ด์ง์ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์๋ค. ํ์ง๋ง HTML๋ง์ผ๋ก๋ ์์ฑ๋ ์น ํ์ด์ง๋ฅผ ๋ง๋ค ์ ์๋ค. ๊ตฌ์ฑ ์์๋ค์ ๋ณด๊ธฐ ์ข๊ฒ ๋ง๋ค๊ณ , ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ฅธ ๋์์ ์ ์ํด์ผ ๋น๋ก์ ์น ํ์ด์ง/์ฌ์ดํธ๋ก ๊ธฐ๋ฅํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ค๋์ CSS์ Javascript๋ฅผ ์ฌ์ฉํ์ฌ ์น ํ์ด์ง์ ํ๋ ฅ์ ๋ถ์ด๋ฃ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด์๋ค.
๐จCSS
cascading Style Sheet, HTML์ ๊พธ๋ฉฐ์ฃผ๋ ์ธ์ด
CSS๋ฅผ ์ฌ์ฉํ์ฌ, HTML์ ๊ฐ ์์(element)์ ๋ํ ์คํ์ผ์ ์ง์ ํ ์ ์๋ค. ์ฌ๊ธฐ์ ์์๋, <ํ๊ทธ> ํ
์คํธ </ํ๊ทธ>
๋๋ <ํ๊ทธ/>
ํํ๋ฅผ ๋งํ๋ค.
HTML์ CSS ์ฐ๊ฒฐํ๊ธฐ
1. ์ธ๋ผ์ธ
HTML ํ๊ทธ ์์ ์ง์ ์คํ์ผ์ ์์ฑํ๋ ๋ฐฉ์์ด๋ค. ๊ฐ์ฅ ๊ฐ๋จํ์ง๋ง, ๋ณต์กํด์ง๋ฉด ์ ์ง๋ณด์๊ฐ ์ด๋ ต๋ค.
<h1 style="color:cadetblue">๋ก๊ทธ์ธ</h1>
<!DOCTYPE html>
<html lang="kr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
</head>
<body>
<h1 style="color:cadetblue; text-align:center;">๋ก๊ทธ์ธ</h1>
<form style="display: flex; flex-direction: column; align-items: center;">
<input type="text"
style="font-size: 16px; width: 480px; height: 44px; border-radius: 8px; border: 1px solid #ccc; padding: 0 10px;"
placeholder="ID๋ฅผ ์
๋ ฅํ์ธ์">
<br>
<input type="password"
style="font-size: 16px; width: 480px; height: 44px; border-radius: 8px; border: 1px solid #ccc; padding: 0 10px;"
placeholder="PW๋ฅผ ์
๋ ฅํ์ธ์">
<br>
<input type="button" value="login"
style="font-size: 16px; width: 500px; height: 46px; border-radius: 8px; background-color: cadetblue; color: white; font-weight: bold; border:none; ">
</form>
</body>
</html>


2. ๋ด๋ถ ์คํ์ผ ์ํธ
HTML ๋ฌธ์ ๋ด์<head>
ํ๊ทธ ์์ <style>
ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์คํ์ผ์ ์ ์ํ๋ค. ์คํ์ผ์ ํ ๊ณณ์์ ๊ด๋ฆฌํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, class๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ id๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ด ์๋ค.
ํ๊ทธ ์ ํ์ ์ฌ์ฉ
ํด๋นํ๋ ํ๊ทธ์๋ ๋ชจ๋ ๋์ผํ ์คํ์ผ์ด ์ ์ฉ๋๋ค.
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<style>
h1 {
color: rgb(255, 106, 106);
text-align: center;
}
</style>
</head>
ํด๋์ค ์ ํ์ ์ฌ์ฉ
class = ""
์ผ๋ก ์ค์ ํ ์์์๋ง ์คํ์ผ์ด ์ ์ฉ๋๋ค.
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<style>
.button {
background-color: rgb(255, 106, 106);
width: 500px;
height: 46px;
border: none;
border-radius: 8px;
color: white;
font-weight: bold;
font-size: 16px;
}
</style>
</head>
<body>
<h1>๋ก๊ทธ์ธ</h1>
<form style=" display: flex; flex-direction: column; align-items: center;">
<input type="button" value="login" class="button">
</form>
</body>
Id ์ ํ์ ์ฌ์ฉ
id = ""
๋ก ์ค์ ํ ์์์๋ง ์คํ์ผ์ด ์ ์ฉ๋๋ค.
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<style>
#btn_login {
background-color: rgb(255, 106, 106);
width: 500px;
height: 46px;
border: none;
border-radius: 8px;
color: white;
font-weight: bold;
font-size: 16px;
}
</style>
</head>
<body>
<h1>๋ก๊ทธ์ธ</h1>
<form style=" display: flex; flex-direction: column; align-items: center;">
<input type="button" value="login" id="btn_login">
</form>
</body>


Id์ class์ ์ฐจ์ด
๐กํด๋์ค๋ ๊ฐ์ ํด๋์ค๋ฅผ ๊ฐ์ง ์ฌ๋ฌ ์์์ ๋์ผํ ์คํ์ผ ์ ์ฉ์ด ๊ฐ๋ฅํ์ง๋ง, id๋ ๋ฌธ์ ๋ด ์ ์ผํ ์์์ ์คํ์ผ์ ์ ์ฉํ๋ค.
3. ์ธ๋ถ ์คํ์ผ ์ํธ
CSS๋ฅผ ๋ณ๋์ ํ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ด๋ค. ์ฌ๋ฌ HTML ํ์ผ์์ ๋์ผํ ์คํ์ผ์ ์ฌ์ฌ์ฉํ ์ ์๋ค.
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link rel="stylesheet" href="login.css">
</head>


๊ผญ ์์์ผ ํ CSS ์์ฑ๋ค
์์ฑ | ์ค๋ช |
---|---|
color |
๊ธ์ ์์์ ์ง์ ํฉ๋๋ค. |
background-color |
๋ฐฐ๊ฒฝ ์์์ ์ง์ ํฉ๋๋ค. |
font-size |
๊ธ์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. |
width |
์์์ ๋๋น๋ฅผ ์ง์ ํฉ๋๋ค. |
height |
์์์ ๋์ด๋ฅผ ์ง์ ํฉ๋๋ค. |
border |
์์์ ํ ๋๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค. |
margin |
์์์ ์ธ๋ถ ์ฌ๋ฐฑ์ ์ง์ ํฉ๋๋ค. |
padding |
์์์ ๋ด๋ถ ์ฌ๋ฐฑ์ ์ง์ ํฉ๋๋ค. |
text-align |
ํ ์คํธ ์ ๋ ฌ์ ์ง์ ํฉ๋๋ค. |
๐ฆพJavascript
ํน์ HTMl ์์๋ฅผ ์ ํํ์ฌ ์ ์ดํ ์ ์๋ ์คํฌ๋ฆฝํธ ์ธ์ด
์คํฌ๋ฆฝํธ ์ธ์ด๋?
์คํฌ๋ฆฝํธ ์ธ์ด๋ ๋
๋ฆฝ์ ์ธ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์๋๋ผ, ํ๋ก๊ทธ๋จ ๋ด๋ถ์ ๊ตฌ์ฑ ์์ ์ค ํ๋๋ก ํ๋ก๊ทธ๋จ์ ์ ์ดํ ์ ์๋ ์คํฌ๋ฆฝํธ ์ญํ ์ ํ๋ ์ธ์ด๋ค. ํ์ง๋ง ์ต๊ทผ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๋ ๋ฐํ์ ํ๊ฒฝ ๋๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก๋ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํด์ก๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ CSS์ ๊ฐ์ด ์ธ๋ผ์ธ, ๋ด๋ถ ์คํฌ๋ฆฝํธ, ์ธ๋ถ ์คํฌ๋ฆฝํธ 3๊ฐ ๋ฐฉ์์ผ๋ก HTML๊ณผ ์ฐ๊ฒฐํ ์ ์๋ค. ํ์ง๋ง CSS๋ ๋ชจ๋ CSS ์์ฑ์ ์ธ๋ผ์ธ์ ์ฌ์ฉํ ์ ์๋ ๋ฐ๋ฉด, ์๋ฐ์คํฌ๋ฆฝํธ ์ธ๋ผ์ธ์ ์ฌ์ฉ์์ ์ํธ์์ฉ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ธ๋ถ ํ์ผ์ HTML์ ์ฐ๊ฒฐํ ๋์๋ <script> ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค.
<script type = "text/javascript" src = "login.js"></script>
๋ก๊ทธ์ธ ํ์ด์ง ๋ฒํผ ๋์ ์ ์ด
์ด์ฌํ ๋๋ฌ๋ ์๋ฌด๊ฒ๋ ๋์ง ์๋ ๋ก๊ทธ์ธ ๋ฒํผ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์์ฑ ํ ์ฐ๊ฒฐํด์ฃผ์๋ค. ์ด์ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด, "clicked"๋ผ๊ณ ์๋ฆผ์ด ๋ฌ๋ค.
<input type="button" value="login" id="btn_login" onClick="alert('clicked')">

HTML ์์ ์ ํํ๊ธฐ
1. Id๋ก ์ฐพ๊ธฐ
document.getElementById('์์ด๋')
๋ ํน์ id๋ฅผ ๊ฐ์ง ์์๋ฅผ ์ ํํ๋ค. ์ด ๋ฉ์๋๋ DOM ํธ๋ฆฌ๋ฅผ ํ์ํ์ฌ ์ง์ ๋ id๋ฅผ ๊ฐ์ง ์์๋ฅผ ์ฐพ๊ณ , ํด๋น ์์๋ฅผ ๋ฐํํ๋ค. ์์๊ฐ ์๋ค๋ฉด null์ ๋ฐํํ๋ค.
var element = document.getElementById('myId');
2. class๋ก ์ฐพ๊ธฐdocument.getElementsByClassName('ํด๋์ค ์ด๋ฆ')
๋ ํน์ ํด๋์ค๋ฅผ ๊ฐ์ง ๋ชจ๋ ์์๋ฅผ ์ ํํ๋ค. ์ด ๋ฉ์๋๋ HTMLColleciton์ ๋ฐํํ๋ฉฐ, ์ค์๊ฐ์ผ๋ก ๋ฌธ์์ ๋ณํ๋ฅผ ๋ฐ์ํ๋ค.
var elements = document.getElementsByClassName('myClass');
3. ํ๊ทธ ์ด๋ฆ์ผ๋ก ์ฐพ๊ธฐ
document.getElementsByTagName('ํ๊ทธ ์ด๋ฆ')
๋ ํน์ ํ๊ทธ ์ด๋ฆ์ ๊ฐ์ง ๋ชจ๋ ์์๋ฅผ ์ ํํ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก HTMLCollection์ ๋ฐํํ๋ค.
ํจ์
ํน์ ๊ธฐ๋ฅ์ ์ํํ๋ ์ฝ๋ ๋ธ๋ก
ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ , ํ๋ก๊ทธ๋จ์ ๋ ๊ตฌ์กฐ์ ์ผ๋ก ์์ฑํ ์ ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ํจ์๋ function ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ํ๋ค.
ํจ์ ์ ์
function greet(name) {
return "์๋
ํ์ธ์, " + name + "๋!";
}
ํจ์ ํธ์ถ
let message = greet("์ฒ ์");
console.log(message); // "์๋
ํ์ธ์, ์ฒ ์๋!"
ํจ์์ ๋งค๊ฐ๋ณ์์ ๋ฐํ๊ฐ
- ๋งค๊ฐ๋ณ์: ํจ์๊ฐ ํธ์ถ๋ ๋ ์ธ๋ถ๋ก๋ถํฐ ์ ๋ฌ๋ฐ๋ ์ ๋ ฅ๊ฐ. ํจ์ ์ ์ ์ ๊ดํธ ์์ ๋งค๊ฐ๋ณ์ ๋์ด
- ๋ฐํ๊ฐ: ํจ์๊ฐ ์์ ์ ์ํํ ํ, ํธ์ถ์์๊ฒ ๋๋ ค์ฃผ๋ ๊ฐ. return ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐํ
์์ด๋ ์ ๋ ฅ ๊ฐ ํ์ ํ๊ธฐ
function popId() {
let userId = document.getElementById("txt_id").value;
if (!userId) {
alert("ID๋ฅผ ์
๋ ฅํ์ธ์");
} else {
alert(userId);
}
}


document.getelementById๋ฅผ ํ์ฉํ์ฌ, ์ธํ์ ์
๋ ฅํ ๋ด์ฉ์ ํ์
ํ๋ค.
๋ณ์
๋ณ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
์๋ฐ์คํฌ๋ฆฝํธ๋ var
, let
, const
ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์๋ฅผ ์ ์ธํ๋ค.
- var: ํจ์ ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ฌ์ ์ธ ๊ฐ๋ฅ. ๋ธ๋ก ์ค์ฝํ ๋ฏธ์ง์
- let: ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ฌ์ ์ธ ๋ถ๊ฐ. ์ฌํ ๋น ๊ฐ๋ฅ
- const: ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฉฐ, ์์๋ก ์ฌ์ฉ. ์ ์ธ ์ดํ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
var name = "Alice";
let age = 25;
const birthYear = 1998;
console.log(name); // Alice
console.log(age); // 25
console.log(birthYear); // 1998
age = 26; // ๊ฐ๋ฅ
// birthYear = 1997; // ์ค๋ฅ ๋ฐ์: const๋ก ์ ์ธ๋ ๋ณ์๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์