inflearn logo
강의

講義

知識共有

【2026年出題基準】ウェブデザイン技能検定実技試験完全ガイド

3. CSSスライドアニメーション(横スライド)

B타입 레이아웃에서 슬라이드 위치가..

解決済みの質問

277

weblinihun

投稿した質問数 30

1

.header-inner 와 .footer-inner가

들어가있는 B타입  레이아웃에서 

.slide 에 마지막에 overflow:hidden;

속성을 주면 위치가 어긋나져 버립니다..

왜 그런걸까요?

혹시 .content-inner 때문에 발생하는건가요?

slide jquery 웹 디자인 HTML/CSS

回答 3

1

codingworks

header > div {

    height: 100px;

    /* box-sizing: border-box; */

}

.header-logo {

    width: 200px;

    float: left;

    /* border: 1px solid black; */ 

}

위에 코드 보시면 .header-logo에 보더를 주셨는데 box-sizing: border-box를 주지 않아서 .header-logo의 높이가 2픽셀 커져서 다음에 오는 슬라이드가 밀려서 그렇습니다.

문제를 해결하시는 방법은 3가지가 있습니다. 사실 문제는 아닙니다만... header > div에 float 속성이 .slide에 상속받아서 생기는 문제입니다. 전체 코드 보니까 잘 정리해서 잘하고 있으시네요.

1) .header-logo의 임시보더는 사용하지 않을거니까 임시보더를 지우면 바로 해결됩니다.

2) .header-logo 처럼 임시보더를 주셨으면 box-sizing: border-box를 주시면 크기가 늘어나지 않으니까 슬라이드가 밀리는 문제가 생기지 않습니다.

3) .slide에 clear: both 줘서 float 속성 상속을 해제하시면 됩니다.

.slide {

    clear: both;

}

혹시나 해서 덧붙이면 3가지를 다해야 한다는게 아니라 3가지 중 1가지만 하시면 문제가 해결된다는 말입니다.

결론은 1)번 2번으로 하시면 3)번 방법을 사용하실 필요는 없습니다. 3번 방법은 굳이 추천드리지는 않습니다.

추천드리는 방법은 영상처럼 2) .header-logo 처럼 임시보더를 주셨으면 box-sizing: border-box를 주시는 것을 추천드립니다.

아.. 그리고 body에 margin: 0 주세요.

0

weblinihun

감사합니다!!!!

0

weblinihun

.container {}

.header-inner {

    background-color: #ddd;

}

header {

    width: 1200px;

    margin: auto;

    height: 100px;

}

header > div {

    height: 100px;

}

.header-logo {

    width: 200px;

    float: left;

    border: 1px solid black;

}

.nav {

    width: 600px;

    float: right;

}

.menu a {

    text-decoration: none;

    color: black;

}

.menu {

    list-style: none;

    padding: 0;

    text-align: center;

    margin-top: 30px;

}

.menu li {

    float: left;

    width: 25%;

    box-sizing: border-box;

}

.menu li > a {

    border: 1px solid black;

    display: block;

    padding: 5px;

    transition: 0.5s;

}

.menu li:hover > a {

    background-color: #000;

    color: #fff;

}

.sub-menu {

    border: 1px solid black;

    background-color: #fff;

    display: none;

}

.sub-menu a {

    display: block;

    padding: 5px;

    transition: 0.5s;

}

.sub-menu a:hover {

    background-color: #000;

    color: #fff;

}

.content-inner {}

.slide {

    width: 1200px;

    margin: auto;

    height: 300px;

    position: relative;

    overflow: hidden;

}

.slide div {

    border: 1px solid black;

    width: 3600px;

    font-size: 0;

    position: absolute;

    top: 0;

    left: 0;

    animation-name: slide;

    animation-duration: 10s;

    animation-timing-function: linear;

    animation-iteration-count: infinite;

}

@keyframes slide {

    0% {

        left: 0;

    }

    30% {

        left: 0;

    }

    35% {

        left: -1200px;

    }

    65% {

        left: -1200px;

    }

    70% {

        left: -2400px;

    }

    95% {

        left: -2400px;

    }

    100% {

        left: 0;

    }

}

.items {

    width: 1200px;

    margin: auto;

    overflow: hidden;

}

.items > div {

    border: 1px solid black;

    height: 200px;

    width: 400px;

    float: left;

    box-sizing: border-box;

}

.footer-inner {

    background-color: #ddd;

}

footer {

    width: 1200px;

    margin: auto;

    overflow: hidden;

}

footer > div {

    border: 1px solid black;

    height: 100px;

    float: left;

    box-sizing: border-box;

}

.footer-logo {

    width: 200px;

}

.copyright {

    width: 1000px;

}

.copyright div {

    border: 1px solid black;

    height: 50px;

}

0

weblinihun

<!DOCTYPE html>

<html lang="ko">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <link rel="stylesheet" href="css/style.css">

</head>

<body>

    <div class="container">

        <div class="header-inner">

            <header>

                <div class="header-logo"></div>

                <div class="nav">

                    <ul class="menu">

                        <li>

                            <a href="#none">MENU-1</a>

                            <div class="sub-menu">

                                <a href="#none">submenu-1</a>

                                <a href="#none">submenu-2</a>

                                <a href="#none">submenu-3</a>

                                <a href="#none">submenu-4</a>

                            </div>

                        </li>

                        <li>

                            <a href="#none">MENU-2</a>

                            <div class="sub-menu">

                                <a href="#none">submenu-1</a>

                                <a href="#none">submenu-2</a>

                                <a href="#none">submenu-3</a>

                                <a href="#none">submenu-4</a>

                            </div>

                        </li>

                        <li>

                            <a href="#none">MENU-3</a>

                            <div class="sub-menu">

                                <a href="#none">submenu-1</a>

                                <a href="#none">submenu-2</a>

                                <a href="#none">submenu-3</a>

                                <a href="#none">submenu-4</a>

                            </div>

                        </li>

                        <li>

                            <a href="#none">MENU-4</a>

                            <div class="sub-menu">

                                <a href="#none">submenu-1</a>

                                <a href="#none">submenu-2</a>

                                <a href="#none">submenu-3</a>

                                <a href="#none">submenu-4</a>

                            </div>

                        </li>

                    </ul>

                </div>

            </header>

        </div>

        <div class="content-inner">

            <div class="slide">

                <div>

                    <a href="#none"><img src="images/slide-01.jpg" alt="slide01"></a>

                    <a href="#none"><img src="images/slide-02.jpg" alt="slide02"></a>

                    <a href="#none"><img src="images/slide-03.jpg" alt="slide03"></a>

                </div>

            </div>

            <div class="items">

                <div class="news"></div>

                <div class="banner"></div>

                <div class="shortcut"></div>

            </div>

        </div>

        <div class="footer-inner">

            <footer>

                <div class="footer-logo"></div>

                <div class="copyright">

                    <div></div>

                    <div></div>

                </div>

            </footer>

        </div>

    </div>

    <script src="script/jquery-1.12.4.js"></script>

    <script src="script/custom.js"></script>

</body>

</html>

해당 강의 PDF는 어디에 있나요?

1

55

2

2026 웹디자인개발기능사 실기 보는데 필요한 텍스트에디터는 무엇인가요?

1

92

2

예제파일

1

54

1

섹션10-77번강의 내 와이어프레임 pdf 자료 다운로드 어디서 하나요?

1

81

2

보더를 사용해 와이어프레임만드는 강의 html+css소스 다운로드 받을 수 있나요?

1

57

1

시험 시 슬라이드 작성 관련 문의

0

64

1

강의 질문 있습니다

1

69

1

시험 관련 문의

1

61

1

파워포인트 자료 다운로드 버튼 어디에 있나요?

1

55

1

브라우저 화면 줄일 시 빈 공간 발생

0

65

1

서브메뉴가 유지되지 못하고 사라지는데 무엇이 문제 일까요?

1

78

1

슬라이드 및 완성본 관련 사항

1

69

2

D유형 레이아웃 연습중인데 슬라이드 이미지 크기가 변하지 않습니다

1

90

3

B-4연습중인데 네비게이션의 a태그 두께가 이상하고 슬라이드 다운시 문제가 있습니다.

1

50

2

A2 연습중인데 메뉴 배경색과 서브메뉴 크기, 갤러리 그림 정리에 문제가 있습니다

1

68

2

A1 레이아웃 연습중인데 overflow: hidden이나 box-sizing: border-box;가 적용되지 않는 것 같습니다

1

55

2

레이어 팝업 '닫기' 가 안됩니다

1

62

1

공지사항과 갤러리 탭(안)구성 중 마우스 클릭시 색상변경이 안됩니다.

1

84

2

뷰티파이 설치 관련 문의

1

71

3

웹디자인 기능사 웹디자인개발기능사로 개편 되었는데 이 수업만 들어도 가능?

1

86

2

A유형~C유형 수험자 제공파일 어디서

1

73

1

A1 작업하는데 와이어프레임이 무너지고, hover일부가 적용 안되고 메뉴바가 슬라이드를 밀어냅니다. 탭메뉴도 작동하지 않습니다..

0

122

4

footer 높이 값

1

47

2

div 상하분배?가 안돼요

0

72

2