Animated Turtle

CSS

레이아웃 실전 - 푸터 유형

훙구 2023. 3. 22. 23:25

...

728x90
반응형

레이아웃 실전 _ 푸터유형

이번에는 웹페이지의 가장 하단에 부분에 들어가는 푸터 유형에 대해 작업해 보겠습니다.

 

푸터유형 디자인하기

디자인 예시

구상한 디자인 기반으로 코딩

 

HTML 작성하기

<!DOCTYPE html>
<html lang="ko">
<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>
    <link href="https://webfontworld.github.io/NexonLv1Gothic/NexonLv1Gothic.css" rel="stylesheet">
</head>
<body>
    <section class="footer__wrap section nexon">
        <div class="container">
            <div class="footer__inner">
                <article class="footer__menu">
                    <h3>한강 주변 식당</h3>
                    <ul>
                        <li><a href="#">소개하기</a></li>
                        <li><a href="#">방문 예약하기</a></li>
                        <li><a href="#">사진 보기</a></li>
                        <li><a href="#">식당 구경하기</a></li>
                        <li><a href="#">식당 등록하기</a></li>
                        <li><a href="#">커뮤니티</a></li>
                    </ul>
                </article>
                <article class="footer__menu">
                    <h3>한강 주변 카페</h3>
                    <ul>
                        <li><a href="#">소개하기</a></li>
                        <li><a href="#">방문 예약하기</a></li>
                        <li><a href="#">사진 보기</a></li>
                        <li><a href="#">카페 구경하기</a></li>
                        <li><a href="#">카페 등록하기</a></li>
                        <li><a href="#">커뮤니티</a></li>
                    </ul>
                </article>
                <article class="footer__menu">
                    <h3>한강공원 화장실</h3>
                    <ul>
                        <li><a href="#">위치보기</a></li>
                        <li><a href="#">안내보기</a></li>
                        <li><a href="#">시설보기</a></li>
                        <li><a href="#">가까운 시설 안내</a></li>
                    </ul>
                </article>
                <article class="footer__menu">
                    <h3>한강 배달존</h3>
                    <ul>
                        <li><a href="#">위치보기</a></li>
                        <li><a href="#">배달점 검색</a></li>
                        <li><a href="#">주소받기</a></li>
                        <li><a href="#">가까운 자리 보기</a></li>
                    </ul>
                </article>
                <article class="footer__menu">
                    <h3>한강 대여소</h3>
                    <ul>
                        <li><a href="#">대여물품</a></li>
                        <li><a href="#">대여하기</a></li>
                        <li><a href="#">사진 보기</a></li>
                        <li><a href="#">반납존 위치 보기</a></li>
                        <li><a href="#">가격문의</a></li>
                    </ul>
                </article>
                <article class="footer__menu">
                    <h3>신고하기</h3>
                    <ul>
                        <li><a href="#">불법행위</a></li>
                        <li><a href="#">소란행위</a></li>
                        <li><a href="#">민원안내</a></li>
                        <li><a href="#">안내소 위치</a></li>
                    </ul>
                </article>
            </div>
            <address class="address">
                <p>2023 한강공원 나들이 프로젝트 HanRiver Picnic</p>
                <p>All Right Reserved</p>
            </address>
        </div>
    </section>
</body>
</html>

HTML 정리해보기

  • 이번 푸터 섹션에서는 footer__inner에 6개의 article로 나누어 작업했습니다.
  • 각각의 article에 h3태그를 이용해 메뉴 주제를 적어주었습니다.
  • 아래 버튼은 li태그로 목록을 적고 해당 페이지로 이동할 수 있는 a링크를 걸어주었습니다.

CSS 작성하기

/* reset */
* {
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
    color: #000;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}
img {
    vertical-align: top;
    width: 100%;
}
li {
    list-style: none;
}
.blind {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt60 {margin-top: 60px !important;}
.mt70 {margin-top: 70px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb70 {margin-bottom: 70px !important;}
/* common */
.container {
    width: 1160px;
    margin: 0 auto;
    padding: 0 20px;
    /* background-color: rgba(0,0,0,0.1); */
}
.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;
}
/* footer__wrap */
.footer__wrap {
    background-color: #f5f5f5;
}
.footer__inner {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #d9d9d9;
}
.footer__inner .footer__menu li {
    font-size: 14px;
    padding-left: 14px;
    position: relative;
    line-height: 1.7;
}
.footer__inner .footer__menu li::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #666;
    position: absolute;
    left: 0;
    top: 8px;
}
.footer__menu {
    width: 16.6666%;
    margin-bottom: 50px;
}
.footer__menu h3 {
    margin-bottom: 13px;
    font-size: 18px;
}
.address {
    margin-top: 50px;
    text-align: center;
    justify-content: center;
}
.address p {
    font-size: 14px;
    line-height: 1.7;
    font-style: normal;
}

CSS 정리해보기

  • 기존 페이지들과 마찬가지로 기본 속성을 그대로 적용시켜 주었습니다.
  • 기본 속성값에 li 태그의 스타일을 없애주었기 때문에 footer__menu 안에 있는 li 태그들에게 가상요소를 만들어 목록처럼 보이는 도형을 하나 만들어 넣었습니다.
  • 가상요소에 넣어준 도형의 position을 absolute로 만들었기 때문에 footer__menu의 li 태그에게 기준이 되도록 position:relative 속성을 넣었습니다.

 

 

 

이상으로 하단 푸터영역을 만들어 보았습니다 !

728x90
반응형