<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layour</title>
<style>
#wrapper {
width: 600px;
display: grid;
/* 그리드 컨테이너 지정 */
grid-template-columns:
/* 1fr 1fr 1fr; 200px 200px 200px */
repeat(3, 1fr);
/* 너비 200px 칼럼 3개 */
/* fr 상대적 크기 1fr은 width 기준으로 나눠 진다. */
grid-template-rows:
/* 100px; 줄 높이 100px */
minmax(100px, auto)
}
.items {
padding: 100px;
background-color: #eee;
}
.items:nth-child(odd) {
background-color: #fff;
}
</style>
</head>
<body>
<div id="wrapper">
<div class="items">Lorem ipsum dolor sit amet consectetur adipisicing elit. Amet,
reprehenderit.Lorem ipsum dolor, sit amet consectetur adipisicing elit. </div>
<div class="items">Lorem ipsum dolor, sit amet consectetur adipisicing elit.Lorem ipsum dolor,
sit amet consectetur adipisicing elit</div>
<div class="items">Lorem ipsum dolor sit amet.Lorem ipsum dolor, sit amet consectetur adipisicing</div>
<div class="items">Lorem ipsum dolor sit.Lorem ipsum dolor, sit amet consectetur adipisicing elit</div>
<div class="items">Lorem, ipsum dolor.</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layout</title>
<style>
#wrapper1 {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
/* 화면을 꽉 채울만큼 칼럼 너비를 늘려서 표시 */
margin-bottom: 20px;
}
#wrapper2 {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
/* 칼럼 최소 너비만큼 채워서 표시 */
}
h1 {
font-size: 24px;
}
.items {
padding: 15px;
background-color: #eee;
}
.items:nth-child(odd) {
background-color: #bbb;
}
</style>
</head>
<body>
<h1>auto-fit일 때</h1>
<div id="wrapper1">
<div class="items">Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Soluta nesciunt magni voluptatem.</div>
<div class="items">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="items">Lorem ipsum dolor, sit amet consectetur adipisicing elit.
Eius nulla corrupti porro!</div>
<div class="items">Lorem ipsum dolor sit.</div>
<div class="items">Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusantium, quos!</div>
<div class="items">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Porro odit quam sit.</div>
</div>
<h1>auto-fill일 때</h1>
<div id="wrapper2">
<div class="items">Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Soluta nesciunt magni voluptatem.</div>
<div class="items">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="items">Lorem ipsum dolor, sit amet consectetur adipisicing elit.
Eius nulla corrupti porro!</div>
<div class="items">Lorem ipsum dolor sit.</div>
<div class="items">Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusantium, quos!</div>
<div class="items">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Porro odit quam sit.</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layout</title>
<style>
#wrapper {
display: grid;
grid-template-columns: repeat(3, 200px);
/* 너비 200px인 칼럼 3개 */
grid-template-rows: minmax(100px, auto);
grid-gap: 20px 30px;
/* 칼럼 간격 30px, 줄 간격 20px */
/* 또는 아래와 같이 사용 */
/* grid-column-gap:30px; */
/* grid-row-gap: 20px; */
}
.items {
padding: 15px;
background-color: #eee;
}
.items:nth-child(odd) {
background-color: #bbb;
}
</style>
</head>
<body>
<div id="wrapper">
<div class="items">Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Soluta nesciunt magni voluptatem.</div>
<div class="items">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="items">Lorem ipsum dolor, sit amet consectetur adipisicing elit.
Eius nulla corrupti porro!</div>
<div class="items">Lorem ipsum dolor sit.</div>
<div class="items">Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusantium, quos!</div>
<div class="items">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Porro odit quam sit.</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layour</title>
<style>
#wrapper {
width: 700px;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
}
.box {
padding: 15px;
color: #fff;
font-weight: bold;
text-align: center;
}
.box1 {
background-color: #3689ff;
grid-column: 1/4;
}
.box2 {
background-color: #00cf12;
grid-row: 2/4;
}
.box3 {
background-color: #ff9010;
grid-column: 2/4;
grid-row-start: 2;
/* 시작과 끝을 같이 지정 grid-row: 2/3; */
}
.box4 {
background-color: #ffd000;
grid-column-start: 3;
/* 시작과 끝을 같이 지정 grid-column: 3/4; */
grid-row-start: 3;
/* 시작과 끝을 같이 지정 grid-row: 3/4; */
}
</style>
</head>
<body>
<div id="wrapper">
<div class="box box1">box1</div>
<div class="box box2">box2</div>
<div class="box box3">box3</div>
<div class="box box4">box4</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layour</title>
<style>
#wrapper {
width: 700px;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
grid-template-areas:
"box1 box1 box1"
"box2 box3 box3"
"box2 . box4";
}
.box {
padding: 15px;
color: #fff;
font-weight: bold;
text-align: center;
}
.box1 {
background-color: #3689ff;
grid-area: box1;
}
.box2 {
background-color: #00cf12;
grid-area: box2;
}
.box3 {
background-color: #ff9019;
grid-area: box3;
}
.box4 {
background-color: #ffd000;
grid-area: box4;
}
</style>
</head>
<body>
<div id="wrapper">
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
<div class="box4">box4</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layout</title>
<style>
.gallery {
width: 700px;
margin: 20px auto;
display: grid;
grid-template-areas:
"photo1 photo1 photo2"
"photo1 photo1 photo3"
"photo4 photo5 photo6";
gap: 5px;
}
.gallery img {
width: 100%;
height: 100%;
border-radius: 10px;
object-fit: cover;
}
.photo1 {
grid-area: photo1;
}
.photo2 {
grid-area: photo2;
}
.photo3 {
grid-area: photo3;
}
.photo4 {
grid-area: photo4;
}
.photo5 {
grid-area: photo5;
}
.photo6 {
grid-area: photo6;
}
</style>
</head>
<body>
<div class="gallery">
<img class="photo1" src="images/photo-1.jpg" alt="따듯한 차가 있는 겨울 풍경">
<img class="photo2" src="images/photo-2.jpg" alt="남극 펭귄">
<img class="photo3" src="images/photo-3.jpg" alt="눈이 가득 쌓인 시골 풍경">
<img class="photo4" src="images/photo-4.jpg" alt="오로라가 보이는 밤풍경">
<img class="photo5" src="images/photo-5.jpg" alt="눈 쌓인 배경">
<img class="photo6" src="images/photo-6.jpg" alt="나뭇가지에 앉아있는 빨간 새">
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Q1</title>
<style>
body {
margin: 0;
display: flex;
justify-content: center;
/* 가로 가운데 */
align-items: flex-start;
/* 위쪽 정렬 */
min-height: 100vh;
padding-top: 30px;
}
.container {
width: 700px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
.item {
height: 150px;
text-align: center;
padding-top: 10px;
box-sizing: border-box;
}
.item:nth-child(odd) {
background-color: lightpink;
}
.item:nth-child(even) {
background-color: rgb(232, 79, 105);
}
</style>
</head>
<body>
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Q2</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: black;
/* 배경색 */
margin: 0;
}
.container {
width: 600px;
height: 500px;
display: grid;
grid-template-columns: repeat(4, 1fr);
/* 4개의 동일한 크기의 열 */
grid-template-rows: repeat(3, 1fr);
/* 3개의 동일한 크기의 행 */
gap: 20px;
/* 그리드 아이템 사이의 간격 */
}
.grid-item {
background-color: yellow;
padding: 20px;
text-align: center;
font-size: 1.5em;
}
.item1 {
grid-column: 1/3;
grid-row: 1/3;
}
.item2 {
grid-column: 3/5;
grid-row: 1/2;
}
.item3 {
grid-column: 3/4;
grid-row: 2/4;
}
.item4 {
grid-column: 4/5;
grid-row: 2/4;
}
.item5 {
grid-column: 1/3;
grid-row: 3/4;
}
</style>
</head>
<body>
<div class="container">
<div class="grid-item item1">item1</div>
<div class="grid-item item2">item2</div>
<div class="grid-item item3">item3</div>
<div class="grid-item item4">item4</div>
<div class="grid-item item5">item5</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>글자색 바꾸기</title>
<style>
body {
text-align: center;
}
#heading {
color: blue;
}
#text {
color: gray;
font-size: 15px;
}
</style>
<script>
function changeColor() {
var heading = document.querySelector('#heading');
if (heading.style.color == "red") {
heading.style.color = "blue";
} else {
heading.style.color = "red"
}
}
</script>
</head>
<body>
<h1 id="heading" onclick="changeColor()">자바스크립트</h1>
<p id="text">위 텍스트를 클릭해보세요</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>alert문</title>
</head>
<body>
<script>
alert("안녕하세요");
var reply = confirm("정말 배경 이미지를 바꾸겠습니까?");
alert(reply);
document.write("<h1>" + reply + "</h1>");
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome</title>
</head>
<body>
<h1>어서오세요</h1>
<script>
var name = prompt("이름을 입력하세요.");
console.log(name);
document.write("<b><big>" + name + "</big></b>님, 환영합니다.");
// <b><big>홍길동</big></b>님, 환영합니다.
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>나이 계산하기</title>
</head>
<body>
<script>
var currentYear = 2026;
var birthYear;
var age;
birthYear = prompt("태어난 연도를 입력하세요. (YYYY)", "나이");
console.log(typeof (birthYear))
age = currentYear - birthYear + 1;
document.write(currentYear + "년 현재<br>");
document.write(birthYear + "년에 태어난 사람의 나이는 " + age + "세입니다.")
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>조건문</title>
</head>
<body>
<script>
var userNumber = prompt("숫자를 입력하세요.");
if (userNumber % 3 === 0)
alert("3의 배수입니다.");
else
alert("3의 배수가 아닙니다.")
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>세션 선택 - Switch문</title>
<style>
body {
background-color: #0c3268;
color: rgb(243, 243, 243);
}
p {
margin-top: 80px;
font-size: 2em;
font-weight: 700;
text-align: center;
text-shadow: 1px 2px 1px #000;
}
p strong {
font-size: 2.2em;
color: yellow;
}
</style>
</head>
<body>
<script>
var session = prompt("관심 세션을 선택해 주세요. 1-마케팅, 2-개발, 3-디자인");
switch (session) {
case "1":
document.write("<p>마케팅 세션은 <strong>201호</strong>에서 진행됩니다.</p>");
break;
case "2":
document.write("<p>개발 세션은 <strong>203호</strong>에서 진행됩니다.</p>");
break;
case "3":
document.write("<p>디자인 세션은 <strong>205호</strong>에서 진행됩니다.</p>");
break;
default:
alert("잘못 입력했습니다.")
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>구구단 - for문</title>
</head>
<body>
<h1>구구단</h1>
<script>
var i, j;
for(i = 2; i <= 9; i++) {
document.write("<h3>" + i + "단</h3>");
for(j = 1; j <= 9; j++) {
document.write(i + " X " + j + " = " + i*j + "<br>");
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>팩토리얼 계산하기</title>
<style>
body {
padding-top: 20px;
text-align: center;
}
</style>
</head>
<body>
<h1>while문을 사용한 팩토리얼 계산</h1>
<script>
var n = prompt("숫자를 입력하세요.");
var msg = "";
if (n !== null) { // 취소 버튼을 주르지 않았는지 체크
var nFact = 1; // 결과값
var i = 1; // 카운터
while (i <= n) {
nFact *= i;
i++;
}
msg = n + "! =" + nFact; // 결과 값을 표시할 문자열
} else {
msg = "값을 입력하지 않았습니다.";
}
document.write(msg); // 결과 표시
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>구구단 - for문</title>
</head>
<body>
<h1>구구단</h1>
<script>
var i, j;
for (i = 1; i <= 9; i++) {
document.write("<div>");
document.write("<h3>" + i + "단</h3>");
for (j = 1; j <= 9; j++) {
document.write(i + " X " + j + " = " + i * j + "<br>");
}
document.write("</div>");
if (i === 3) break;
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>짝수 더하기</title>
<style>
body {
padding-top: 20px;
text-align: center;
}
</style>
</head>
<body>
<h1>짝수끼리 더하기</h1>
<script>
var i;
var n = 10;
var sum = 0;
for (i = 1; i <= n; i++) {
if (i % 2 === 1)
continue
sum += i;
document.write(i + " ------- " + sum + "<br>");
}
</script>
</body>
</html>
<!DOCTYPE html>
<!-- 자리 배치도 -->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Q3</title>
<style>
body {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
}
table,
td {
border: 1px solid #ccc;
border-collapse: collapse;
}
td {
padding: 10px;
font-size: 0.9em;
}
</style>
</head>
<body>
<h1>자리 배치도</h1>
<script>
var num = Number(prompt("입장객은 몇 명인가요?"));
var colNum = Number(prompt("한 줄에 몇 명씩 앉습니까?"));
var rowNum;
if (num % colNum == 0) {
rowNum = num / colNum;
} else {
rowNum = parseInt(num / colNum) + 1;
}
var i, j;
var seatNum;
document.write("<table>");
for (i = 0; i < rowNum; i++) {
document.write("<tr>");
for (j = 1; j <= colNum; j++) {
seatNum = i * colNum + j;
if (seatNum > num) {
break;
}
document.write("<td>좌석 " + seatNum + "</td>");
}
document.write("</tr>");
}
document.write("</table>");
</script>
</body>
</html>
<!DOCTYPE html>
<!-- 4의 배수 찾기 -->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Q4</title>
</head>
<body>
<h2>4의 배수일까 아닐까</h2>
<script>
var userNumber = prompt("숫자를 입력하세요")
if(userNumber !== null) {
if(userNumber % 4 === 0)
document.write(userNumber + "는 4의 배수입니다.")
} else {
document.write(userNumber + "는 4의 배수가 아닙니다.")
}
</script>
</body>
</html>
<!DOCTYPE html>
<!-- 3의 배수 찾기 -->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Q5</title>
</head>
<body>
<script>
var i;
var userNumber = prompt("몇 까지 3의 배수를 찾을까요?")
var count = 0;
if (userNumber !== null) {
for (i = 1; i <= userNumber; i++) {
if (i % 3 === 0) {
count++;
document.write(i + ", ");
}
}
document.write("<p>" + userNumber + "까지 3의 배수의 개수: " + count + "</p>");
}
</script>
</body>
</html>
오늘은 못다한 CSS 진도를 다 나가고 js를 처음 배웠다.
java와 비슷한데 조금씩 달라서 헷갈리기도 했지만 처음 java를 배울 때보단 쉬웠다.
열심히 공부해서 js도 마스터 해야겠다.