본문 바로가기
부트캠프TIL, WIL/AI웹개발(스파르타코딩클럽)

[AI 웹개발TIL]5일차 개발일지

by 우지uz 2023. 3. 17.

오늘 했던 작업은 지금까지 만들었던 웹 페이지를
혼자서 다시 만들어 보는 작업이었습니다

웹 종합개발반은 1주차까지 들었고
늦게 합류하다보니
2주차는 듣지 못한 상태입니다!

막상 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>연습용 페이지01</title>
</head>
<body>
   
</body>
</html>

싹 다 지우고 새로 시작하니, 뭐 부터 생각 해야 할지 몰랐는데 ...ㅜㅠ
간단하게 바디와, CSS 적용(바탕 색깔,위치,사이즈,가로,세로)해서
타이틀로고를 만들어보고

.mytitle {

            background-image: url(https://i.ibb.co/GCqBHfy/mainlogo001.png);
            background-position: center;
            background-size: cover;

            width: 100%;
            height: 400px;
        }

이미지 파일과 이미지들을 불러보았습니다 ㅎㅎ
혼자만의 생각과 아이디어루요! 
어떤 도움도 없이 내 머리로 해보니 의미가 있었어요

.cards {
            background-color: antiquewhite;
            background-position: center;
            background-size: cover;
        }
        .card {
            width: 95%;
            height: 95%;

            margin-top: 10%;
            margin-left: 20% ;
            margin-right: 20% ;
        }

처음에는 강의를 보거나
CSS 하나하나 이해를 하는데에 집중을 했다면 
전체적으로 크게 보자는 마음으로
계속해서 생각하면서 작업 했어요 ㅎㅎ

 
그 다음에는
체크박스와 사이드바를
혼자서 구현 해보았는데

i
input[id="menuicon"] {
            /* 오른쪽 상단 목차 아이콘 네모박스 틀 */
            display: none;
        }
        input[id="menuicon"]+label {
            /* 네모 박스 크기모양 및 위치 */
            display: block;
            width: 3%;
            height: 3%;
            position: fixed;
            /* 위치 고정 */
            right: 1%;
            /* 체크하기 전 라벨의 위치 */
            top: calc(10% - 25px);
            transition: all .35s;
            cursor: pointer;
            /* 위에 올렸을 때 커서가 포인터로 보이게 */
            margin: 20px;
            /* 상하좌우 바깥 여백이 20픽셀 */
        }
        input[id="menuicon"]:checked+label {
            z-index: 2;
            /* 위,아래 덮는 순서 숫자가 크면 덮습니다 */
            right: 15%;
            /* 라벨을 체크했을 때 위치가 오른쪽 기준 15% */
        }
        input[id="menuicon"]+label span {
            /* span은 막대기를 의미, span이 총 3개가 있는데 그 세개를 모두 지칭 */
            display: block;
            /*
        일반적으로 설정하지 않아도 div가 갖게되는 기본값이다. (태그에 따라 기본값이 다를 수 있다.)
        기본적으로 width 가 자신의 컨테이너의 100% 가 되게끔 한다.
        쉽게 말하자면, 가로 한 줄을 다 차지하게 된다. */
            position: absolute;
            width: 70%;
            height: 15%;
            border-radius: 30px;
            background: #000;
            transition: all .35s;
        }
        /* span 한줄 한줄의 위치를 의미. */
        input[id="menuicon"]+label span:nth-child(1) {
            top: 0;
        }
        input[id="menuicon"]+label span:nth-child(2) {
            top: 50%;
            transform: translateY(-50%);
        }
        input[id="menuicon"]+label span:nth-child(3) {
            bottom: 0;
        }
        /* span이 체크되었을 때에 위치 */
        input[id="menuicon"]:checked+label span:nth-child(1) {
            top: 50%;
            transform: translateY(-50%) rotate(45deg);
        }
        input[id="menuicon"]:checked+label span:nth-child(2) {
            opacity: 0;
        }
        input[id="menuicon"]:checked+label span:nth-child(3) {
            bottom: 50%;
            transform: translateY(50%) rotate(-45deg);
        }
        .sidebar {
            /* 사이드바의 위치와 속성 */
            width: 17%;
            height: 300%;
            background-color: #b68a30;
            position: fixed;
            top: 0;
            right: -17%;
            z-index: 1;
            transition: all .35s;
        }
        input[id="menuicon"]:checked+label+div {
            /* 사이드바랑 딸려 나오는 애 */
            right: 0;
        }
        @font-face {
            font-family: 'SangSangYoungestDaughter';
            font-weight: normal;
            font-style: normal;
        }
        .sidetop {
            /* 사이드바 상단 독서하는 12개월 폰트 */
            margin-top: 20%;
            margin-bottom: 40%;
            text-align: center;
            font-family: 'SangSangYoungestDaughter';
        }
        @font-face {
            /* 폰트 교보문고, 사이드바 팀 이름 폰트 적용 */
            font-family: 'KyoboHandwriting2021sjy';
            font-weight: normal;
            font-style: normal;
        }
        .name {
            /* 폰트 교보문고, 사이드바 팀 이름 폰트 적용 */
            text-align: center;
            margin-bottom: 40%;
            font-family: 'KyoboHandwriting2021sjy';
        }
        .pagemove {
            font-family: 'SangSangYoungestDaughter';
            /* 사이드바 하단 앨범 보기 및 독서 리뷰 폰트 */
        }

하나하나의 의미를 깨달으면서 구현하는데
처음에는 3~4시간 정도 걸렸는데

시간이 걸린 만큼 진짜 의미 깊더라구요!
힘든만큼, 고민한 만큼 의미가 있었습니다.
뭐든 책들을 읽거나, 유튜브를 보고 다 구현할 수 있겠어요! 
무엇보다 CSS에 대한 이해도가 엄청 증가 했다랄까요?



이게 단지 체크박스 버튼과 사이드바에 대한 CSS인데 100줄 입니다 ㅎㅎ;;
이걸 다 하고나서, 한 사이트를 보고 깜짝 놀랐어요!

티스토리라는 블로그에
HTML과 CSS를 보니까 1천줄 이더라구요 ㅋㅋㅋㅋㅋ
복잡하고 이쁘게 만든 HTML은 2500줄...
심지어 그게 다 정리된 상태라는 게 정말 놀랐어요!!!
개발자 분들이 프론트, 백엔드 막론하고
정말로 복잡하고 어려운 일을 하고 계시는 구나를
이제서야 알게 되었답니다.ㅎㅎㅎ

와....저는 겨우 500줄 적어놓고 힘들다 했는데
심지어 그것도 정리가 안된 500줄이었어요 ㅠㅠ

보는 눈이 없다보니, 보기좋게 정리해서 500줄이지
간략하게 줄 정리하면 300줄 밖에 안될거에요 .. 
당연히 아직 시작이고 부족하다는 생각이 있었는데 
살짝 쫄아있었습니다 ㅎㅎㅎ 

아직 많이 배워야죠! 쫄지 맙시다!
저는 5년 이후에는 한 회사를 이끌고
한 회사를 만들고 운영하는
개발자겸, 기획자겸, 훌륭한 사업자가 될거니까요!.

깨닫고 배워나가는 과정이 있다면
실수도 엄청난 발판이자, 성장 기회라고 생각합니다. 

오늘 일지는 여기서 마치도록 하겠습니다!
내일 개발일지는 
웹 종합 개발반 강의듣기와 
배운점에 대해 기록하겠습니다!

그럼 안니양~~