Lumpy Space Princess - Adventure Time

CSS

Website 만들기에 대해서 알아보자 - 푸터 유형 01

jongyung 2023. 3. 22. 19:54

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90

figma로 만든 다음의 푸터 유형을 코딩으로 만들어 보겠습니다.

 

링크: 푸터 영역 01 (daanbi1345.github.io)

간략한 설명:

웹사이트의 하단 부분이라서 간단합니다.

6가지의 카테고리로 나눴습니다.

 

이제 body와 style을 나눠서 세부적인 설명을 하겠습니다.

body

<body>
    <section class="section footer__wrap nexon">
        <div class="container">
            <h2 class="blind">푸터</h2>
            <div class="footer__inner">
                <div class="footer__menu">
                    <div>
                        <h3>여행 가방 꾸리기</h3>
                        <ul>
                            <li><a href="#">체계적으로 물건 담는 법</a></li>
                            <li><a href="#">최소한의 물건 담기</a></li>
                            <li><a href="#">가벼운 물건 위주로 챙기기</a></li>
                            <li><a href="#">체크 리스트 작성하기</a></li>
                        </ul>
                    </div>
                    <div>
                        <h3>휴대용 물건 챙기기</h3>
                        <ul>
                            <li><a href="#">휴대용품 챙기기</a></li>
                            <li><a href="#">필수로 챙겨야 하는 물건</a></li>
                            <li><a href="#">현지에서 구하기 힘든 물건</a></li>
                            <li><a href="#">위급한 상황 대비하기</a></li>
                        </ul>
                    </div>
                    <div>
                        <h3>여행 계획 세우기</h3>
                        <ul>
                            <li><a href="#">가고 싶은 여행지 꼽기</a></li>
                            <li><a href="#">관광 장소 알아보기</a></li>
                            <li><a href="#">숙소 알아보기</a></li>
                            <li><a href="#">숙소 근처 식당 알아보기</a></li>
                        </ul>
                    </div>
                    <div>
                        <h3>여행지 탐방하기</h3>
                        <ul>
                            <li><a href="#">계획에서 조금 벗어나보기</a></li>
                            <li><a href="#">현지인에게 추천 받기</a></li>
                            <li><a href="#">숙소 근처에서 산책하기</a></li>
                            <li><a href="#">시장 구경하기</a></li>
                        </ul>
                    </div>
                    <div>
                        <h3>여행지의 추억 남기기</h3>
                        <ul>
                            <li><a href="#">사진 찍기</a></li>
                            <li><a href="#">현지인과 어울리기</a></li>
                            <li><a href="#">여행객과 어울리기</a></li>
                            <li><a href="#">자연을 즐겨보기</a></li>
                        </ul>
                    </div>
                    <div>
                        <h3>길 숙지하기</h3>
                        <ul>
                            <li><a href="#">계획한 곳들 위치 숙지</a></li>
                            <li><a href="#">숙소 주소 외우기</a></li>
                            <li><a href="#">숙소 근처 위치 숙지</a></li>
                            <li><a href="#">대사관 위치 숙지</a></li>
                        </ul>
                    </div>
                </div>
            </div>
            <div class="footer__sitename">2023 jongyung travel site</div>
        </div>
    </section>
</body>

이전에 웹 사이트를 만들었을 때처럼 여백을 주기 위해서 section 영역을 넣었습니다.

 

각 6가지의 카테고리들은 제목과 내용을 한 박스에 넣었습니다.

제목은 h3 태그에, 내용은 li 태그에 감싸고 링크를 걸 수 있도록 a 태그를 넣었습니다.

a 태그는 하나의 페이지에서 다른 페이지를 연결할 때 사용하는 하이퍼링크(hyperlink)를 정의할 때 사용합니다.

이러한 a 태그에서 가장 중요한 속성은 바로 링크(link)의 목적지를 가리키는 href 속성입니다.

따라서 href 속성이 없다면, target, download, rel, rev, hreflang, type, referrerpolicy 속성들도 사용할 수 없습니다.

style

 <style>
    * {
        margin: 0;
        padding: 0;
    }
    h1, h2, h3, h4, h5, h6 {
        font-weight: normal;
    }
    li {
        list-style: none;
    }
    .nexon {
        font-family: 'NexonLv1Gothic';
        font-weight: 400;
    }
    .section {
        padding: 120px 0;
    }
    .section.center {
        text-align: center;
    }
    .section__h2 {
        font-size: 50px;
        font-weight: 400;
        margin-bottom: 30px;
        line-height: 1;
    }
    .section__desc {
        font-size: 22px;
        color: #666;
        margin-bottom: 70px;
        font-weight: 300;
        line-height: 1.5;
    }
    .container {
        width: 1160px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .blind {
        display: none;

    }
    .footer__menu {
        flex-wrap: wrap;
        position: relative;
        display: flex;
        justify-content: space-between;
    }
    .footer__menu div {
        width: 16.6666%;
    }
    .footer__menu h3 {
        margin-bottom: 13px;
    }
    .footer__menu li {
        line-height: 1.9;
        font-size: 14px;

    }
    .footer__menu li a {
        color: #666;
    }
    .footer__sitename {
        margin-top: 50px;
        border-top: 1px solid #d9d9d9;
        padding-top: 50px;
        text-align: center;
        font-size: normal;
        line-height: 1.6em;
    }
</style>

font-weight는 글자의 굵기를 정합니다.
기본값은 normal 이고,

  • normal : 보통 굵기이다. 숫자 400과 같습니다.
  • bold : 굵은 굵기이다. 숫자 700과 같습니다.
  • bolder : 상속된 값보다 굵은 굵기입니다.
  • lighter : 상속된 값보다 얇은 굵기입니다.
  • number : 100, 200, 300, 400, 500, 600, 700, 800, 900
  • initial : 기본값으로 설정합니다.
  • inherit : 부모 요소의 값을 상속받습니다.

 

flex-wrap 속성은 Flex 컨테이너에서 Flex 아이템을 한 줄로 표시할 지, 또는 행(行)을 되풀이 해서 복수의 행(行)으로 표시할지 여부를 지정합니다.

  • wrap: flex 아이템이 flex 컨테이너 안에서 표시되도록, 줄 바꿈합니다.
  • nowrap: 행(行)의 줄 바꿈을 하지 않습니다. 한 줄로 표시합니다.
  • wrap-reverse: "wrap" 속성 값과 같이, 줄 바꿈하여 표시되지만 Flex 항목의 순서가 역방향이 됩니다.

 

text-align 은 block 요소 안에 있는 inline요소를 정렬합니다.

inline 요소 : 줄 속에 끼워 넣는 요소(span, b, a, img 등)
block 요소 : 해당 요소가 속한 줄은 가로 화면 전체 100%를 차지하며 앞뒤로 줄 바꿈이 됨(p, div, ol, ul, table 등)

block 요소에만 text-align 속성을 적용할 수 있습니다. 
정렬되는 것은 block 요소 안에 있는 inline요소(text 뿐만 아니라 img 등도 포함)만 가능합니다.

  • text-align: left 왼쪽 정렬
  • text-align: right 오른쪽 정렬
  • text-align: center 중앙 정렬
  • text-align: justify 왼쪽과 오른쪽 열에 맞춰 화면을 늘어뜨림

 

justify-content는 가로 축을 기준으로 좌우에 대한 정렬을 관장 합니다.

속성은

  • flex-start (default): 요소들을 컨테이너의 왼쪽으로 정렬
  • flex-end: 요소들을 컨테이너의 우측으로 정렬
  • center: 요소들을 컨테이너의 중앙으로 정렬
  • space-between: 요소들 사이에 동일한 간격을 둡니다.
  • space-around: 요소들 주위에 동일한 간격을 둡니다.
  • space-evenly(FireFox Only): 첫번째로 오는 정렬 대상 전에 두개 의 인접한 정렬 대상 사이의 간격과 마지막 정렬 대상 이후의 간격이 같도록 항목이 분산 됩니다.