인프런 커뮤니티 질문&답변

김재명님의 프로필 이미지
김재명

작성한 질문수

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

카카오맵 API를 활용해서 지도를 넣는 방법

화면 스크롤 및 정렬

작성

·

278

0

강좌명: 카카오맵API를 활용해서 지도를 넣는 방법

 

  1. padding-top: 1.5rem; 으로 바꾸었지만,

스크롤이 남아있네요..

어디를 수정해야 될까요?

  1. category-items 를 가운데 정렬시키기위해

    align-items: center 을 사용했지만, 먹히질 않더라고요.. 어떤 코드를 입력해야 되나요?

css

html{
    font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: 10px;
}

nav{
    background-color: white;
}
.nav-title{
    font-size: 3rem;
    margin-top: 1rem;
}
.nav-container{    
    padding: 0.5rem 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.nav-contact{
    font-size: 3rem;
    border: 0;
    background: none;
    cursor: pointer;
    font-family: inherit;
}

.category-title{
    font-size: 4rem;
    margin-top: 1rem;
}

.category-item{
    width: 20%;
    height: 5rem;
    background: none;
    border: none;
    font-family: inherit;
    font-size: 2rem;
}

.category-item:hover{
    color: orange;
    cursor: pointer;
}

@media all and (min-width: 1024px){
    .inner{
        max-width: 1024px;
        margin: 0 auto;
        padding: 0 1.5rem;        
    }
}

/* 카카오맵 css */
body{
    height: 100vh;
}

nav{
    height: 59px;
}

main{
    padding-top: 1.5rem;
    height: calc(100% - 59px);
    display: flex;
    flex-direction: column;
   }

#map{
    flex-grow: 1;
    width:100%;
    height:100%;
}

답변 2

0

김재명님의 프로필 이미지
김재명
질문자

바쁘신데 검토해주셔서 감사합니다.

html 코드도 함께 올릴게요!

다시 한번 부탁드릴게요

 

<!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>Document</title>
    <link rel="stylesheet" href="221128_index.css" />
</head>
<body>
    <nav>
        <div class="inner">
            <div class="nav-container">            
                <h1 class="nav-title">맛집지도</h1>
                <button class="nav-contact">contact</button>
            </div>
        </div>
    </nav>
<!-- 카테고리 -->
    <main>
        <section class="category">
            <div class="inner">
                <div class="category-container">
                    <h2 class="category-title">맛집지도 카테고리를 선택해보세요</h2>
                    <div class="category-list">
                        <button class="category-item">한식</button> 
                        <button class="category-item">중식</button>
                        <button class="category-item">일식</button>
                        <button class="category-item">양식</button>
                        <button class="category-item">분식</button>
                        <button class="category-item">구이</button>
                        <button class="category-item">회/초밥</button>
                        <button class="category-item">기타</button>
                </div>
                </div>
                
            </div>
        </section>
        
    <!-- 카카오맵 -->

            <div id="map" class="inner"></div>

    </main>

    <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=8ca2656741c19be97bc5b5c408a37b73"></script>
    <script src="script.js"></script>
</body>
</html>
Jiwoon Jeong님의 프로필 이미지
Jiwoon Jeong
지식공유자

안녕하세요.

직접 코드 테스트 해본 결과

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

 

css에 이 코드가 누락되어 발생한 문제입니다.

html 태그는 각각 기본적인 css가 적용되어 있습니다.

해당 css코드는 그런 html 태그가 기본적으로 가지고 있는 패딩, 마진을 0으로 만들고,

박스 모델에서 너비, 높이를 정할때 border-box를 기준으로 만듭니다.

 

즉, 스크롤이 발생한 원인은 각각의 html 태그가 기본적으로 가지고 있는 패딩, 마진 등이 남아있고, border-box를 기준으로 하지 않았기 때문입니다. (box-sizing default는 content-box 입니다.)

따라서 위 코드를 적용해주시면 스크롤이 사라지게 됩니다.

box-sizing과 관련한 자세한 내용은 mdn을 확인하시면 더 자세히 볼 수 있습니다.

https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing

 

감사합니다.

0

Jiwoon Jeong님의 프로필 이미지
Jiwoon Jeong
지식공유자

안녕하세요 :)

보내주신 css 파일만 확인해봤을 때는 제가 생각하기에도 이상이 없는 것 같아요!

다만 html 구조에 차이가 있으면 다를 수 있기 때문에 html 파일도 함께 보여주시면 더 자세히 도와드릴 수 있을 것 같습니다!

감사합니다.

김재명님의 프로필 이미지
김재명

작성한 질문수

질문하기