이 글은 강의를 듣고 공부한 내용을 정리하기 위해 작성한 글입니다.
(스파르타코딩클럽 웹개발 종합반 1주차)
스파르타코딩클럽 서포터즈 르탄즈 1차 미션에서 우수활동자로 선정되어 정규 강의 하나를 받을 수 있게 되었다. 코딩을 하나도 모르는 나는 코딩 입문자용 강의인 웹개발 종합반을 선택했다.
앞으로 8주 동안 열심히 복습해서 꼭 남자친구랑 재미삼아 만들고 있는 홈페이지를 맛깔나게 꾸며보고 싶다!!
HTML은 뼈대, CSS는 꾸미기
HTML: 구역, 텍스트 나타내는 코드
meta가 계속 어떤 의미인지 너무 검색해서 검색하다가 너무 잘 정리해놓은 글을 발견!
meta태그 정리
script: 쉽게 말하면 javascript를 HTML에 연결할 때 필요한 코드
script 관련 좋은 글
script태그 위치 비교
코드정렬 단축키
tab: 들여쓰기
shift + tab: 빼기
ctrl + Alt + L : 자동정렬 기능(여러 줄 한꺼번에 정렬할 때 편함)
<head></head>
<style></style>
안에 공간을 만들어 작성한다
배경
background-color
background-image
background-size
사이즈
width
height
폰트
font-size
font-weight
font-family
color
간격
margin
padding
CSS flex box 관련 좋은 글
링크텍스트
폰트, 주석처리, CSS 파일분리
① 마음에 드는 폰트를 골라 Select this style를 하여 추가한 후 View your selected families 누르기
② 노란색 표시된 부분 복사하기
③ head부분에 복사한 걸 넣고 css rules to specify families의 코드를 복사하여 style에 입력한다(일부분에만 할 경우 따로 클래스 지정하고 '.클래스'에 이 코드를 삽입)
구글 폰트 적용한 코드
① 원하는 폰트를 고르고 '웹폰트로 사용'부분의 코드를 복사하여 style부분에 입력
② 원하는 부분에 font-family 부분 입력
눈누 폰트 적용한 코드 (class=wannago)
<link rel="stylesheet" type="test/csss" href = "(css파일이름).css">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>로그인 페이지</title>
<link href="https://fonts.googleapis.com/css2?family=Gaegu&display=swap" rel="stylesheet">
<style>
* {
font-family: 'Gaegu', cursive;
}
.mytitle {
width: 300px;
height: 200px;
color: white;
text-align: center;
background-image: url("http://image.dongascience.com/Photo/2019/12/fb4f7da04758d289a466f81478f5f488.jpg");
background-size: cover;
background-position: center;
border-radius: 10px;
padding-top: 40px;
}
.wrap {
width: 300px;
margin: auto;
}
</style>
</head>
<body>
<div class="wrap">
<div class="mytitle">
<h1>로그인 페이지</h1>
<h5>로그인하고 햄스터를 보러 가요!</h5>
</div>
<p>ID <input type="text"/></p>
<p>PW <input type="text"/></p>
<p><button>햄스터 보러가기</button></p>
</div>
</body>
</html>
완성본
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
<title>무비피디아</title>
<link href="https://fonts.googleapis.com/css2?family=Gowun+Dodum&display=swap" rel="stylesheet">
<style>
* {
font-family: 'Gowun Dodum', sans-serif;
}
.mytitle {
background-color: green;
height: 250px;
width: 100%;
background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(https://movie-phinf.pstatic.net/20210715_95/1626338192428gTnJl_JPEG/movie_image.jpg);
background-position: center;
background-size: cover;
color: white;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.mytitle > button {
width: 200px;
height: 50px;
background-color: transparent;
color: white;
border-radius: 50px;
border: 1px solid white;
margin-top: 30px;
}
.mytitle > button:hover {
border: 2px solid white;
}
.mycomment {
color: gray;
}
.mycards {
width: 1200px;
margin: 20px auto 0 auto;
}
.mypost {
max-width: 500px;
width:95%;
margin: 20px auto 0px auto;
box-shadow: 0px 0px 3px 0px gray;
padding: 20px;
}
.input-group {
max-width: 500px;
width:95%;
margin: 20px auto 0px auto;
}
.twobuttons {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-top: 20px;
}
.twobuttons > button {
margin-right: 10px;
}
</style>
</head>
<body>
<div class="mytitle">
<h1>내 생애 최고의 영화들</h1>
<button>영화 기록하기❣</button>
</div>
<div class="mypost">
<div class="form-floating">
<input type="url" class="form-control" id="floatingInput" placeholder="url">
<label for="floatingInput">영화url</label>
</div>
<div class="input-group mb-3">
<label class="input-group-text" for="inputGroupSelect01">별점</label>
<select class="form-select" id="inputGroupSelect01">
<option selected>-- 선택하기 --</option>
<option value="1">⭐</option>
<option value="2">⭐⭐</option>
<option value="3">⭐⭐⭐</option>
<option value="4">⭐⭐⭐⭐</option>
<option value="5">⭐⭐⭐⭐⭐</option>
</select>
</div>
<div class="form-floating">
<textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea2" style="height: 100px"></textarea>
<label for="floatingTextarea2">코멘트</label>
</div>
<div class="twobuttons">
<button type="button" class="btn btn-dark">기록하기</button>
<button type="button" class="btn btn-outline-dark">닫기</button>
</div>
</div>
<div class="mycards">
<div class="row row-cols-1 row-cols-md-4 g-4">
<div class="col">
<div class="card">
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">여기에 제목이 들어갑니다</h5>
<p class="card-text">여기에 내용이 들어가지요.</p>
<p>⭐⭐⭐</p>
<p class="mycomment">여기에 코멘트가 들어갑니다</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">여기에 제목이 들어갑니다</h5>
<p class="card-text">여기에 내용이 들어가지요.</p>
<p>⭐⭐⭐</p>
<p class="mycomment">여기에 코멘트가 들어갑니다</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">여기에 제목이 들어갑니다</h5>
<p class="card-text">여기에 내용이 들어가지요.</p>
<p>⭐⭐⭐</p>
<p class="mycomment">여기에 코멘트가 들어갑니다</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">여기에 제목이 들어갑니다</h5>
<p class="card-text">여기에 내용이 들어가지요.</p>
<p>⭐⭐⭐</p>
<p class="mycomment">여기에 코멘트가 들어갑니다</p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
*모바일 처리하기 Tip
width: 95%;
max-width: 500px;
화면 폭 500px전에는 95%로 맞추다가 넘으면 500px로 보여줘라는 의미
ex) '나는 버튼이다'를 누르면 안녕이 뜨게 하기
① head안에서 script로 공간을 만들어 안에 작성
② 버튼에 함수 연결하기
<button onclick = "hey()">나는 버튼이다</button>
적용한 모습
웹페이지>마우스 우클릭 '검사'>console에서 테스트 가능
한번 입력한 내용은 새로고침만 안하면 계속 유지됨
변수대입: 오른쪽에 있는 것을 변수에 넣는다.
> let a = 2
-------------
> a
> 2
-------------
> let b = 3
-------------
> b
> 3
-------------
> a+b
> 5
-------------
> let a_list = [1,2,'사과']
> a_list[0]
> 1
> a_list[2]
>'사과'
길이 구하기
> a_list.length
> 2
>let a_dict = {'name' : 'Minsu', 'age': 26}
>a_dict['name']
>Minsu
>a_dict['age']
>26
ex) 특정 문자로 문자열 나누기
>let myemail = 'abc@velog.com'
>let result = myemail.split('@')
>'abc', 'velog.com'
>result[0]
>'abc'
result[1]
>velog.com
>let result2 = result[1].split('.')
>'velog','com'
>result2[0]
>velog
보다 간편하게 velog 도출하는 법
>let myemail = 'abc@velog.com'
>let result = myemail.split('@')[1].split('.')[0]
>velog
function 함수이름(필요한 변수들) {
명령 순차적으로 작성
}
예시
sum = 두 개의 숫자를 입력하면 두 개의 합을 돌려주는 함수
function sum(num1, num2) {
console.log;
(--console.log는 console창에 결과를 띄워줘라는 뜻--)
return num1 + num2;
}
console에서 입력하면
> sum(3,5)
> 8
20 보다 작으면 작다고, 크면 크다고 알려주는 함수
function is_adult(age){
if(age>20) {
alert('성인이에요')
} else if (age>10) {
alert('청소년이에요')
} else{
alert('10살 미만이에요')
}
}
>is_adult(25)
성인이에요!가 뜬다
for(let i = 0; i <100, i++) {
console.log(i);
}
console에서 입력하면
console.log(1)
console.log(2)
console.log(3)
.
.
.
console.log(99)
1주차 내용을 한꺼번에 복습하려하니 굉장히 양이 많은 것 같다.
앞으로는 강의를 듣고 바로바로 복습하면서 올려야겠다.
이제 팬명록 만들기만 제출하면 1주차가 마무리된다!
팬명록 만들기도 다 하고 나면 여기에 코드를 올려야겠다.