본문 바로가기
웹디자인기능사

웹디자인기능사 | 실기 | 롯데월드 🎡

by 코딩하자9 2022. 9. 14.
728x90

웹디자인기능사 실기 | 롯데월드 사이트 만들기


1. 웹디자인기능사 실기 요령

ckick

시험장마다 Emmet이 안되는 곳이 있을 수 있음 👉🏻 드림위버 자동 완성 기능 활용하기

모든 css, js는 링크로 달기 (시험조건) 👉🏻 항상 링크를 걸었으면 사이트에 연동되는지 확인하고 넘어가기

style에 쓸때 복사/붙여넣기 습관 들이기 👉🏻 쓰면서 하다가 오류가 생기면 발견하기 어려움

2. 사이트 구조 살펴보기

사이트구조
CSS 살펴보기
<style>
    /* reset */
    * {
        margin: 0;
        padding: 0;
    }
    li {
        list-style: none;
    }
    a {
        color: #333;
        text-decoration: none;
    }
    .clearfix::before, .clearfix::after {
        display: block;
        content: '';
        clear: both;
    }
    
    /* layout */
    #wrap {
        width: 1000px;
        margin: 0 auto;
    }
    #header {
        height: 100px;
    }
    #banner {}
    #content1 {}
    #content2 {}
    #footer {}
    
    /* header */
    #header h1 {
        float: left;
        padding-top: 5px;
    }
    #header h1 img {
        width: 130px;
    }
    #header .nav {
        float: right;
        z-index: 100px;
        position: relative;
        margin-top: 20px;
    }
    #header .nav li {
        position: relative;
        float: left;
        width: 120px;
        text-align: center;
    }
    #header .nav li a {
        display: block;
        padding: 20px 10px;
        font-size: 18px;
    }
    #header .nav li a:hover {
        background: #ddd;
    }
    #header .nav li ul.subMenu {
        display: none;
        position: absolute;
        left: 0;
        top: 59px;
        z-index: 100;
        background: #ccc;
    }
    #header .nav li ul.subMenu li {}
    #header .nav li ul.subMenu li a {
        padding: 10px;
    }
    #header .nav li ul.subMenu li a:hover {
        background: #999;
    }
    
    /* banner */
    #banner {
        width: 1000px;
        height: 378px;
        overflow: hidden;
    }
    #banner img {
        width: 100%;
    }
    .slideList {
        position: relative;
    }
    .slideList .slideImg {
        position: relative;
    }
    .slideList .slideImg h2 {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        background: rgba(0,0,0,0.5);
        padding: 10px 30px;
        border-radius: 25px;
        color: #fff;
        font-size: 18px;
    }
    .slideList .slideImg img {
        display: block;
    }
    
    /* content1 */
    #content1 {
        margin-top: 15px;
    }
    #content1 .notice {
        float: left;
        width: 49%;
        height: 220px;
        margin-right: 2%;
        border: 1px solid #ccc;
        /* 49% + 49% + 2% = 100% + 보더 양쪽 1px씩 추가되어버림 */
        /* 보더값을 위드값 안으로 포함할 수 있도록 박스사이징을 보더박스로 설정 */
        box-sizing: border-box;
    }
    #content1 .notice ul li a {
        font-size: 20px;
    }
    #content1 .notice ul li ul li a {
        font-size: 16px;
        font-weight: 300;
    }
    #content1 .notice ul li ul li span {
        font-weight: 300;
        color: #666;
    }
    #content1 .ad {
        float: left;
        width: 49%;
        margin-right: 0;
    }
    #content1 .ad img {
        width: 100%;
        /* 이미지 밑에 좀 남는 부분 없애기 */
        display: block;
    }
    
    /* notice */
    .notice {
        position: relative;
        padding: 30px;
    }
    .notice ul {}
    .notice ul li {
        float: left;
        margin-right: 20px;
    }
    .notice ul li a {
        font-size: 24px;
        font-weight: bold;
        color: #999;
    }
    .notice ul li.active a {
        color: #000;
    }
    .notice ul li ul {
        position: absolute;
        left: 30px;
        top: 70px;
    }
    .notice ul li ul li {
        width: 95%;
        padding: 5px 0;
    }
    .notice ul li ul li a {
        float: left;
        width: 60%;
        font-size: 16px;
        color: #333;
        font-weight: normal;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .notice ul li ul li span {
        float: right;
        width: 20%;
    }
    .notice .more {
        position: absolute;
        right: 30px;
        top: 35px;
    }
    
    /* content2 */
    #content2 {
        margin-top: 25px;
    }
    #content2 h2 {
        margin-bottom: 10px;
    }
    #content2 ul {}
    #content2 li {
        float: left;
        width: 24.25%;
        margin-right: 1%;
    }
    #content2 li:last-child {
        margin-right: 0;
    }
    #content2 li img {
        width: 100%;
    }
    #content2 li span {
        /* span은 인라인구조이기 때문에 블록선언 */
        display: block;
        padding: 10px 0;
    }
    
    /* footer */
    #footer {
        border-top: 1px solid #ccc;
        margin-top: 30px;
        padding: 30px 0;
    }
    #footer address {
        font-style: normal;
        color: #666;
    }
    #footer address ul {
        width: 660px;
    }
    #footer address li {
        position: relative;
        display: inline;
        line-height: 1.7;
        padding: 0 15px 0 10px;
    }
    #footer address li::after {
        position: absolute;
        content: '';
        right: 0;
        top: 0;
        width: 1px;
        height: 13px;
        background: #666;
    }
    #footer address li.left {
        padding-left: 0;
    }
    #footer address p {
        text-transform: uppercase;
        padding-top: 30px;
    }
    
    /* layer */
    .layer_bg {
        display: none;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.8);
        position: fixed;
        left: 0;
        top: 0;
        z-index: 900;
    }
    .layer {
        width: 500px;
        height: 500px;
        background: #ccc;
        border: 2px solid #000;
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 1000;
        transform: translate(-50%, -50%);
    }
    .layer h2 {
        padding: 20px;
        font-size: 30px;
    }
    .layer .close {
        position: absolute;
        bottom: 20px;
        right: 30px;
        font-size: 20px;
    }
</style>
HTML 살펴보기
<body>
    <div id="wrap">
    <header id="header" class="clearfix">
        <h1><a href="#"><img src="images/logo.jpg" alt="롯데월드"></a></h1>
        <nav class="nav">
            <ul class="clearfix">
                <li>
                    <a href="#">즐길거리</a>
                    <ul class="subMenu">
                        <li><a href="#">subMenu-1</a></li>
                        <li><a href="#">subMenu-2</a></li>
                        <li><a href="#">subMenu-3</a></li>
                        <li><a href="#">subMenu-4</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#">요금/우대혜택</a>
                    <ul class="subMenu">
                        <li><a href="#">subMenu-1</a></li>
                        <li><a href="#">subMenu-2</a></li>
                        <li><a href="#">subMenu-3</a></li>
                        <li><a href="#">subMenu-4</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#">참여프로그램</a>
                    <ul class="subMenu">
                        <li><a href="#">subMenu-1</a></li>
                        <li><a href="#">subMenu-2</a></li>
                        <li><a href="#">subMenu-3</a></li>
                        <li><a href="#">subMenu-4</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#">이용가이드</a>
                    <ul class="subMenu">
                        <li><a href="#">subMenu-1</a></li>
                        <li><a href="#">subMenu-2</a></li>
                        <li><a href="#">subMenu-3</a></li>
                        <li><a href="#">subMenu-4</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#">소통서비스</a>
                    <ul class="subMenu">
                        <li><a href="#">subMenu-1</a></li>
                        <li><a href="#">subMenu-2</a></li>
                        <li><a href="#">subMenu-3</a></li>
                        <li><a href="#">subMenu-4</a></li>
                    </ul>
                </li>
            </ul>
        </nav>
    </header>
    <!-- //header -->

    <section id="banner">
        <div class="slideList">
            <div class="slideImg">
                <h2>이미지1</h2>
                <img src="images/banner01.jpg" alt="메리크리스마스1">
            </div>
            <div class="slideImg">
                <h2>이미지2</h2>
                <img src="images/banner01.jpg" alt="메리크리스마스2">
            </div>
            <div class="slideImg">
                <h2>이미지3</h2>
                <img src="images/banner01.jpg" alt="메리크리스마스3">
            </div>
        </div>
    </section>
    <!-- //banner -->

    <section id="content1" class="clearfix">
        <article class="notice">
            <ul class="clearfix">
                <li class="active"><a href="#">롯데월드 소식</a>
                    <ul>
                        <li><a href="#">그럴싸진곤 미라클</a><span>2019.05.03</span></li>
                        <li><a href="#">드림스테이지 '힘내 소중한 너'</a><span>2019.05.03</span></li>
                        <li><a href="#">'힘내 소중한 너'음원 발매</a><span>2019.05.03</span></li>
                        <li><a href="#">이용 요금 조정 안내</a><span>2019.05.03</span></li>
                    </ul>
                </li>
                <li><a href="#">뉴스·공지</a>
                    <ul>
                        <li><a href="#">2. 두번째 목록입니다. 두번째 목록입니다. 두번째 목록입니다.</a><span>2019.05.03</span></li>
                        <li><a href="#">2. 두번째 목록입니다. 두번째 목록입니다. 두번째 목록입니다.</a><span>2019.05.03</span></li>
                        <li><a href="#">2. 두번째 목록입니다. 두번째 목록입니다. 두번째 목록입니다.</a><span>2019.05.03</span></li>
                        <li><a href="#">2. 두번째 목록입니다. 두번째 목록입니다. 두번째 목록입니다.</a><span>2019.05.03</span></li>
                    </ul>
                </li>
            </ul>
            <a href="#" class="more">더보기 +</a>
        </article>
        <figure class="ad">
            <a href="#"><img src="images/ad.jpg" alt="온종일 혜택"></a>
        </figure>
    </section>
    <!-- //content1 -->

    <section id="content2">
        <h2>특별한 경험</h2>
        <ul class="clearfix">
            <li>
                <a href="#">
                    <img src="images/s1.jpg" alt="연간회원안내">
                    <span>연간회원안내</span>
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="images/s2.jpg" alt="프리미엄투어">
                    <span>프리미엄투어</span>
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="images/s3.jpg" alt="공연참여프로그램">
                    <span>공연참여프로그램</span>
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="images/s4.jpg" alt="단체프로그램">
                    <span>단체프로그램</span>
                </a>
            </li>
        </ul>
    </section>
    <!-- //content2 -->

    <footer id="footer">
        <address>
            <ul>
                <li class="left">서울특별시 송파구 올림픽로 240 롯데월드</li>
                <li>대표자: 박동기</li>
                <li>사업자등록번호: 229-093-00392</li>
                <li class="left">통신판매업신고번호: 384-02894-90348</li>
                <li>전화: 02-3045-3943</li>
            </ul>
            <p>Copyright2018 Lotteworld, All Right RESERVED</p>
        </address>
    </footer>
    <!-- //footer -->
</div>

<!-- 팝업 -->
<div class="layer_bg">
    <div class="layer">
        <h2>타이틀</h2>
        <a href="#" class="close">닫기</a>
    </div>
</div>
</body>
SCRIPT 살펴보기
<script>
    $(".nav > ul > li").mouseover(function(){
        $(this).find(".subMenu").stop().slideDown(200);
    });
    
    $(".nav > ul > li").mouseout(function(){
        $(this).find(".subMenu").stop().slideUp(200);
    });
    
    
    var currentIndex = 0;   //현재 이미지를 변수에 저장
    
    setInterval(function(){
        if(currentIndex < 2){
            currentIndex++
        } else {
            currentIndex = 0;
        }
        var slidePosition = currentIndex * (-374)+"px";
    
        // console.log(slidePosition);
        $(".slideList").animate({top:slidePosition},400);
    }, 3000);
    
    
    // 탭 메뉴
    var tabMenu = $(".notice");
    
    tabMenu.find("ul > li > ul").hide();
    tabMenu.find("ul > li.active > ul").show();
    
    function tabList(e){
        e.preventDefault();
        // ul > li > a : this
        var target = $(this);
        target.next().show().parent("li").addClass("active").siblings("li").removeClass("active").find("ul").hide();
    };
    
    tabMenu.find("ul > li > a").click(tabList).focus(tabList);
    
    
    // 팝업
    $(".ad").click(function(){
        $(".layer_bg").css("display","block");
    });
    $(".layer .close").click(function(){
        $(".layer_bg").css("display","none");
    });
</script>

'웹디자인기능사' 카테고리의 다른 글

웹디자인기능사 | 실기 | 쿡킷 🍪  (3) 2022.09.14

댓글


It's cording time

코딩 여기서 정리하고 배워보자구 :9

광고 준비중입니다.