본문 바로가기
내일배움 강의/완강 - [왕초보] 웹개발 종합반

[왕초보] 웹개발 1주차

by GREEN나무 2024. 10. 23.
728x90

[왕초보] 웹개발 종합반 : 1주차 - HTML과 CSS

브라우저가 하는 일

웹사이트에서 (F12) 링크 우클릭 -> 검사

글자 수정 시 내 화면의 글씨만 변형되고, 세로고침 시 돌아옵니다.

뉴스 스텐드 -> 구글 뉴스

 

 

 

 

브라우저의 역할 : 주소창의 경로에서 자료를 가져옵니다.

요청하는 쪽은 클라이언트 (내 pc)  주는 쪽이 서버입니다.

 

내 마음대로 뉴스 스텐드를 바꿀 수 있고 F5키를 누르면 돌아오는  이유는 이미 내 컴퓨터로 가져왔기 때문입니다.

가져 오는 것 : HTML(뼈대), CSS(꾸미기), JS(동작)


HTML(vscode)

'C:\Users\user\Desktop\Sparta\Frontend'에 tegs.html 파일을  생성합니다.

html 치고 자동완성 ‘html:5’ 선택

실행하면 HTML 파일을 그대로 크롬에서 여는것과 똑같습니다.

 

타이틀  ‘Document’<title>Document</title>에서 수정 가능합니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    <title>Document</title>  /* Document를 수정 */
</head>
<body>
    
</body>
</html>

 

 

HTML<head><body>로 나눕니다.

<!DOCTYPE html>
<html lang="en">

<head>
    ...
</head>

<body>
    ...
</body>

</html>

 

body는 눈에 보이는 모든 부분입니다.

head는 그 외 모든 부분 입니다.

타이틀 바(제목, 아이콘), 페이지를 검색엔진진 어떻게 가져갈 것인가, CSS, JS

 

HTML tag기초

더보기
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>스파르타코딩클럽 | HTML 기초</title>
</head>

<body>
    <!-- 구역을 나누는 태그들 -->
    <div>나는 구역을 나누죠</div>
    <p>나는 문단이에요</p>
    <ul>
        <li> bullet point!1 </li>
        <li> bullet point!2 </li>
    </ul>

    <!-- 구역 내 콘텐츠 태그들 -->
    <h1>h1은 제목을 나타내는 태그입니다. 페이지마다 하나씩 꼭 써주는 게 좋아요. 그래야 구글 검색이 잘 되거든요.</h1>
    <h2>h2는 소제목입니다.</h2>
    <h3>h3~h6도 각자의 역할이 있죠. 비중은 작지만..</h3>
    <hr>
    span 태그입니다: 특정 <span style="color:red">글자</span>를 꾸밀 때 써요
    <hr>
    a 태그입니다: <a href="http://naver.com/"> 하이퍼링크 </a>
    <hr>
    img 태그입니다: <img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" />
    <hr>
    input 태그입니다: <input type="text" />
    <hr>
    button 태그입니다: <button> 버튼입니다</button>
    <hr>
    textarea 태그입니다: <textarea>나는 무엇일까요?</textarea>
</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>
    <h1>로그인 페이지</h1>
ID: <input type="text"/>
    <h2></h2>
PW: <input type="text"/>
    <h2></h2>
    <button>로그인하기 </button>
</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>
    <h1>로그인 페이지</h1>
    <p>ID : <input type="text"/></p>
    <p>PW : <input type="text"/></p>
    <button>로그인하기</button>

</body>
</html>

 


CSS 기초 : 꾸미기

꾸미려면 대상을 지칭해야 합니다.

대상에 명찰을 붙이고 불러오세요.

 

<style> </style><head> 안에 있어야 합니다.

 

글씨 색 바꾸기

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>스파르타 로그인</title>
    
    <style> 
        .mytitle { /* 꾸미기 */
            color: red; 
        }

    </style>
</head>
<body>
    <h1 class="mytitle">로그인 페이지</h1>  <!--꾸밀 대상-->
    <p>ID : <input type="text" /></p>
    <p>PW : <input type="text" /></p>
    <button>로그인하기</button>
</body>
</html>

 

URL 이미지 

/*그림 삽입(3줄 기억하기)*/
            background-image: url('');
            background-position: center;
            background-size: cover;

코드 보기

더보기
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>스파르타 로그인</title>
    <style>
        .mytitle {
            /*구역 범위 지정*/
            width: 300px; /*가로 길이*/
            height: 200px; /*세로 길이*/

            /*배경색
            background-color: green; 
            */

            /*여백 지정 - 내부는 padding, 외부는 margin*/
            padding-top: 30px;

            /*모서리*/
            border-radius: 8px;

            /*그림 삽입(3줄 기억하기)*/
            background-image: url('https://www.ancient-origins.net/sites/default/files/field/image/Agesilaus-II-cover.jpg');
            background-position: center;
            background-size: cover;

            /*글자*/
            color: white; /*글자 색*/
            text-align: center; /*글자 가운데 정렬*/
        }
    </style>
</head>
<body>
    <!--구역은 <div>를 사용합니다.-->
        <div class="mytitle">
            <h1>로그인 페이지</h1> 
            <h5>아이디, 비밀번호를 입력해주세요</h5>
        </div>    
    <p>ID : <input type="text" /></p>
    <p>PW : <input type="text" /></p>
    <button>로그인하기</button>
</body>
</html>

 

 

페이지 가운데로 이동 시키기

<div>(구역)를 감싸서 양쪽 여백을 동일 하게 만들어야 합니다. (margin)

...
<head>
    ...
    <style>
        ...
        
        .wrap {
            background-color: green;
            width: 300px; /*가로길이 제한*/

            /*margin: 위쪽마진 왼쪽마진 아래쪽마진 오른쪽마진; */
            margin: 20px auto 0px auto;
            /*auto : 끝까지 다 밀기*/

        }
    </style>
</head>

<body>
    <!--<div>로 감싸서 가운데로 옮기기-->
    <div class="wrap">
        <div class="mytitle">
            <h1>로그인 페이지</h1>
            <h5>아이디, 비밀번호를 입력해주세요</h5>
        </div>
        ...
    </div>
</body>
...

 

 

전체 코드

더보기
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>스파르타 로그인</title>
    <style>
        .mytitle {
            /*구역 범위 지정*/
            width: 300px;
            /*가로 길이*/
            height: 200px;
            /*세로 길이*/

            /*배경색
            background-color: green; 
            */

            /*여백 지정 - 내부는 padding, 외부는 margin*/
            padding-top: 30px;

            /*모서리*/
            border-radius: 8px;

            /*그림 삽입(3줄 기억하기)*/
            background-image: url('https://www.ancient-origins.net/sites/default/files/field/image/Agesilaus-II-cover.jpg');
            background-position: center;
            background-size: cover;

            /*글자*/
            color: white;
            /*글자 색*/
            text-align: center;
            /*글자 가운데 정렬*/
        }

        .wrap {
            /* background-color: green;*/
            width: 300px;

            /*margin: 위쪽마진 왼쪽마진 아래쪽마진 오른쪽마진; */
            margin: 20px auto 0px auto;
            /*auto : 끝까지 다 민다*/

        }
    </style>
</head>

<body>
    <!--구역은 <div>를 사용합니다.-->
    <div class="wrap">
        <div class="mytitle">
            <h1>로그인 페이지</h1>
            <h5>아이디, 비밀번호를 입력해주세요</h5>
        </div>

        <p>ID : <input type="text" /></p> <!--텍스트 입력박스-->
        <p>PW : <input type="text" /></p>
        <button>로그인하기</button>
    </div>
</body>

</html>

 

폰트 넣기

 

구글 글꼴 탐색

https://fonts.google.com/?subset=korean

 

필터 > 언어선택 > 맘에드는 글꼴 선택 > 글꼴 가져오기 클릭 >  임베드 코드 받기 클릭 > import(@수입) 체크

> html 코드 복사 >  html 코드  '<style> </style>' 사이 맨 에 붙여넣기 > css코드에서 'font-family: ... '부분만 복사

> 복사한 html코드 아래에 '* { }'로 감싸서 붙여넣기 

※ '*'은 모든 테그 의미합니다.

 

언어 선
글꼴 가져오기 클릭

 

임베드 코드 받기 클릭
mport(@수입) 체크 > html, css 코드 복사

<head>
    ...
    <style>
        /*복사한 html 코드 : 폰트 가져오기*/
        @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');
        
        /*복사한 css 코드 : 폰트 적용하기  'font-family'를 가져오세요*/        
        * {
            font-family: "Noto Sans KR", sans-serif;
        }
        ...
    </style>
    ...
</head>

 

결과

코드 전체

더보기

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>스파르타 로그인</title>
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');
        * {
            font-family: "Noto Sans KR", sans-serif;
        }
        .mytitle {
            /*구역 범위 지정*/
            width: 300px;
            /*가로 길이*/
            height: 200px;
            /*세로 길이*/

            /*배경색
            background-color: green; 
            */

            /*여백 지정 - 내부는 padding, 외부는 margin*/
            padding-top: 30px;

            /*모서리*/
            border-radius: 8px;

            /*그림 삽입(3줄 기억하기)*/
            background-image: url('https://www.ancient-origins.net/sites/default/files/field/image/Agesilaus-II-cover.jpg');
            background-position: center;
            background-size: cover;

            /*글자*/
            color: white;
            /*글자 색*/
            text-align: center;
            /*글자 가운데 정렬*/
        }

        .wrap {
            /* background-color: green;*/
            width: 300px;

            /*margin: 위쪽마진 왼쪽마진 아래쪽마진 오른쪽마진; */
            margin: 50px auto 0px auto;
            /*auto : 끝까지 다 민다*/

        }
    </style>
</head>

<body>
    <!--구역은 <div>를 사용합니다.-->
    <div class="wrap">
        <div class="mytitle">
            <h1>로그인 페이지</h1>
            <h5>아이디, 비밀번호를 입력해주세요</h5>
        </div>

        <p>ID : <input type="text" /></p> <!--텍스트 입력박스-->
        <p>PW : <input type="text" /></p>
        <button>로그인하기</button>
    </div>
</body>

</html>

 

 

 

부트스트랩 : 남이 만들어놓은 예쁜 Css 꾸러미

 

'album'폴더에 'index.html'파일을 만드세요

 

<title> 밑에 붙여넣으세요

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

 

 

부트 스트램 버튼 링크

https://getbootstrap.com/docs/5.3/components/buttons/

링크로 들어가서 원하는 버튼 코들르 복사해 <body>에 붙여넣으세요.

<!DOCTYPE html>
<html lang="en">
<head> 
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>나만의 추억앨범</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
       
</head>
<body>
    <button type="button" class="btn btn-primary">Primary</button>    
</body>
</html>

 

 

 

※요약

  • 브라우저의 역할 : 주소창의 자료(HTML, CSS, JS)를 서버에서 가져와 화면에 출력합니다.
  • HTML 기초
    • 웹페이지 뼈대 구성.  <body>는 화면에 보이는 정보, <head>는  그 외 모든 것.
  • CSS 기초
    • HTML 요소를 꾸미기 위한 도구.
    • 클래스를 사용해 스타일 적용 가능. 글씨 색 변경, 가운데 정렬 등.
  • 부트스트랩 사용
    • 미리 디자인된 CSS 스타일을 쉽게 적용하는 프레임워크.
    • 버튼 등 UI 요소를 빠르게 구현.일을 쉽게 적용하는 프레임워크.

 

※기억할 것

 css 사용 방법 : <body>에 class="명찰", <head>에 <style>  .명찰 { .. } </style>

 

 그림 삽입(3줄 기억하기)
            background-image: url('url 주소');
            background-position: center;
            background-size: cover;

◆  자주사용하는 css

배경관련

     background-color 

     background-image
     background-size

사이즈
      width height

폰트
      font-size
      font-weight
      font-family color

간격
      margin padding

Tip

◆글자 깨짐 해결
-윈도우
국가 또는 지역 > 시스템 로캘 변수 > Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용 체크하세요.
제부팅하기를 클릭하세요
-VScode
인코딩 선택 > 인코딩하여 다시 열기 > UTF-8

 

 html 자동완성은 'html:5'


 HTML 주석 :  <!--주석-->

◆ Css, HTML <head> 내부 : /*주석*/

 

 <style> </style>  <head> 안에 있어야 합니다.

 

 코드는 자주쓰는 것만 외우고 다른건 그때 그때 검색해서 쓰세요.

 

 들여쓰기 수정(VSCode) : 필요한 부분이나 전체 선택(call + A) 후 Alt + Shift + F 키를 누르세요.

 

 <div>(구역) 사용 할 때 'background-color: ;'를 사용해 범위를 확인하세요. 수정이 끝나면 지우고요.