본문 바로가기

Front-End: Web

나홀로 코딩 패키지 - 2일차

반응형

01. 크리스마스 카드 구경하기

- 모바일 버전에서도 잘 작동

1. 봉투 HTML 만들기

2. 편지 HTML 만들기

3. 그 후 모바일 버전 처리하기

4. 봉투를 누르면 편지가 나오도록 JavaScript 처리하기

5. 눈송이 떨어뜨리기

6. 르탄이를 누르면 나오는 hidden 메시지 작업하기

7. 메시지로 공유했을 때 예쁘게 나오게 하기 위한 이미지, 텍스트 작업도 하기

 

02. 봉투 HTML 만들기

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2020년을 보내며</title>
    <style>
        body {
            background-color: #9b070f;
        }
        
        .envelope{
            width: 200px;
            height: 200px;

            background-image: url(https://pngimg.com/uploads/envelope/envelope_PNG18366.png);
            background-size: cover;
            background-position: center;

            margin: 200px auto 0px auto;
        }

        .envelope-msg {
            color: white;
            text-align: center;
        }
    </style>
</head>
<body>
    <div>
        <div class="envelope"></div>
        <h2 class="envelope-msg">봉투를 열어봐!</h2>
    </div>
</body>
</html>

 

03. (숨고르기) 웹폰트 적용하기

    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Poor+Story&display=swap" rel="stylesheet">

    <style>
        * {
            font-family: 'Poor Story', cursive;
        }

 

04. 편지 HTML 만들기 - 르탄이

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2020년을 보내며</title>

    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Poor+Story&display=swap" rel="stylesheet">

    <style>
        * {
            font-family: 'Poor Story', cursive;
        }

        body {
            background-color: #9b070f;
        }
        
        .envelope{
            width: 200px;
            height: 200px;

            background-image: url('https://pngimg.com/uploads/envelope/envelope_PNG18366.png');
            background-size: cover;
            background-position: center;

            margin: 200px auto 0px auto;
        }

        .envelope-msg {
            color: white;
            text-align: center;
        }

        .letter-close {
            display: none;
        }

        .rtan {
            background-color: white;

            width: 200px;
            height: 200px;

            background-image: url('https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/xmas/rtan.gif');
            background-size: cover;
            background-position: center;

            margin: 100px auto 0px auto;

            border-radius: 100px;
            border: 5px solid white;    /* 1px크기로 실선 색상 */
            box-shadow: 0px 0px 10px 0px white;    /* 그림자치우치기 얼마나뿌옇게 얼마나길게 */
        }
    </style>
</head>
<body>
    <div class="letter-close">
        <div class="envelope"></div>
        <h2 class="envelope-msg">봉투를 열어봐!</h2>
    </div>

    <div class="rtan"></div>
</body>
</html>

 

05. 편지 HTML 만들기 - 메시지

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2020년을 보내며</title>

    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Poor+Story&display=swap" rel="stylesheet">

    <style>
        * {
            font-family: 'Poor Story', cursive;
        }

        body {
            background-color: #9b070f;
        }
        
        .envelope{
            width: 200px;
            height: 200px;

            background-image: url('https://pngimg.com/uploads/envelope/envelope_PNG18366.png');
            background-size: cover;
            background-position: center;

            margin: 200px auto 0px auto;
        }

        .envelope-msg {
            color: white;
            text-align: center;
        }

        .letter-close {
            display: none;
        }

        .rtan {
            background-color: white;

            width: 200px;
            height: 200px;

            background-image: url('https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/xmas/rtan.gif');
            background-size: cover;
            background-position: center;

            margin: 100px auto 0px auto;

            border-radius: 100px;
            border: 5px solid white;    /* 1px크기로 실선 색상 */
            box-shadow: 0px 0px 10px 0px white;    /* 그림자치우치기 얼마나뿌옇게 얼마나길게 */
        }

        h1 {
            color: white;
            text-align: center;
            margin-top: 30px;
            margin-bottom: 30px;
        }

        .messagebox {
            background-color: ivory;

            width: 400px;
            margin: auto;

            color: brown;

            padding: 30px;

            font-size: 20px;
            line-height: 30px; /*줄간격*/

            box-shadow: 0px 0px 10px 0px white;
        }

        .from {
            text-align: right;
            margin-bottom: 0px;
        }
    </style>
</head>
<body>
    <div class="letter-close">
        <div class="envelope"></div>
        <h2 class="envelope-msg">봉투를 열어봐!</h2>
    </div>
    
    <div class="letter-open">
        <div class="rtan"></div>
        <h1>2020년 수고 많았어!</h1>
        <div class="messagebox">
            친구들에게. <br />
            올해 이런저런 일이 많았는데 <br />
            너희 덕분에 하나도 힘들지 않았어 <br />
            내년에도 우리 우정 변치말자 <br />
            연말에 다 같이 못 봐서 아쉽다 <br />
            <p class="from">2020.12.25 다은이가</p>
        </div>
    </div>
    
</body>
</html>

 

06. 모바일 버전 처리

마우스 우측 > 검사를 통해 모바일 버전의 화면을 살펴볼 수 있다.

Responsive를 통해 여러 모바일 버전을 볼 수 있다.

현재 메시지박스 크기가 너무 크므로 작게 해야 한다.

모바일 버전 처리하기

        @media screen and (max-width: 760px) {
            .messagebox {
                width: 300px;
                padding: 20px;
            }
        }
    </style>

- 너비가 760px 이하일 경우 아래 속성들을 적용한다.

결과

        @media screen and (max-width: 760px) {
            .messagebox {
                width: 300px;
                padding: 20px;
            }
            
            .rtan {
                width: 150px;
                height: 150px;
                margin: 70px auto 0px auto;
            }

            .h1 {
                font-size: 28px;
            }

            .envelope {
                margin: 150px auto 0px auto;
            }
        }
    </style>

 

07. 간단한 JavaScript 맛보기

        .envelope{
		...
            cursor: pointer;
        }

	</style>

    <script>
        function open_letter() {
            document.getElementsByClassName("letter-close")[0].style.display = 'none';
            document.getElementsByClassName("letter-open")[0].style.display = 'block';
        }
    </script>
</head>

<body>
	...
    <div class="letter-close">
        <div class="envelope" onclick="open_letter()"></div>
	...

 

08. 눈오는 효과 붙이기

효과 찾기

1. 'snow javascript' 구글 검색

2. 들어가서 다운로드

3. 하나하나 적용해보면서 가장 어울리는 효과를 적용하기

 

    <title>2020년을 보내며</title>
    
    <script src="https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/xmas/snow.js"></script>

 

09. 히든메시지 넣어보기

- 마음에 드는 르탄이를 선택

두 번째 르탄이: s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/xmas/Webp.net-gifmaker.gif

세 번째 르탄이: s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/xmas/Webp.net-gifmaker+(2).gif

네 번째 르탄이: s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/xmas/Webp.net-gifmaker+(1).gif

 

나는 두 번째 산타 르탄이로 선택 !

	...
	function go_rtan() {
            alert("앗, 어떻게 찾았지!");
            window.location.href="https://spartacodingclub.kr?f_name=%ED%97%88%EB%8B%A4%EC%9D%80&f_uid=5f6f7f59e2b8e00009dd8a4f";
        }
    </script>
    
    ...
        <div class="letter-open">
        <div class="rtan" onclick="go_rtan()"></div>

 

10. 공유를 위한 기초작업

og태그 넣기

검색: christmas 600 500

favicon 넣기

검색: christmas favicon

 

- <title> 태그 아래에 모두 작성

    <title>2020년을 보내며</title>

    <!-- og 태그 -->
    <meta property="og:image" content="https://www.christmastreeassociation.org/wp-content/uploads/2016/06/multiple-christmas-trees-in-one-household-800x400.jpg">
    <meta property="og:title" content="길동이의 카드">
    <meta property="og:description" content="2020을 추억하며">
    <!-- favicon 넣기 -->
    <link rel="shortcut icon" href="https://freepngimg.com/download/christmas/26196-6-christmas-stocking.png">

 

11. 배포해보기

현재 백엔드를 배우지 않았기 때문에, 자동으로 백엔드까지 완성하여 배포되는 주소가 있다.

spartacodingclub.shop/upload_xmas

 

스파르타 | 0주차 사전과제

재밌게 코딩할 준비, 되셨나요? 같이 퀴즈를 풀어보아요

spartacodingclub.shop

 

내가 만든 연하장

 

길동이의 카드

2020을 추억하며

xmas.spartacodingclub.kr

 

 

완주

 

 

수료증

수료 완료!

반응형