html, css 레이아웃 구성에서 질문

조회수 1920회

전체 높이 1046px에서 header 높이 60px과 aside 높이 926px과 footer 높이 60px로 구성하려고 하는데,

두번째그림과 같이 aside와 footer사이가 첫번째그림의 aside와 header사이 처럼 딱 달라붙지않고 빈공간이 생깁니다.. 왜그럴까요?

이미지

이미지

html 코드는 다음과 같습니다.

<body>
<div class="back">
    <header class="title">
    </header>
    <aside class="menubox">
        <input type="button" class="menubox1_">
        <input type="button" class="menubox1_">
        <input type="button" class="menubox1_">
        <input type="button" class="menubox1_">
        <input type="button" class="menubox1_">
    </aside>
    <footer id="bottom" class="bottom">
        <p>바닥</p>
    </footer>
</div>
</body>

css 코드는 다음과 같습니다.

@CHARSET "UTF-8";

body {
    position : relative;
    top : 0px;
    left : 0px;
}

.back {
    z-index : 0;
    background-image : url(img/main/back.jpg);
    width : 1800px;
    height : 1046px;
}

.title {
    background-color : #032f3c;
    width : 1800px;
    height : 60px;
}


.bottom {
    bottom: 0px;
    background-color : #032f3c;
    width : 1800px;
    height : 60px;
}

.menubox {
    background-color : #b9c6d8;
    width : 170px;
    height : 926px;
}

.menubox1_ {
    background-color : red;
    width : 170px;
    height : 40px;
}

3 답변

  • .menubox1_ {
        background-color : red;
        width : 170px;
        height : 40px;
        border: 0;
    }
    

    붙어있는건 맞는데 외곽선이 있네요. 위처럼 border를 지정해보세요.

  • footer에 있는 p 태그 때문입니다. p 태그에 margin-top이랑 margin-bottom이 있네요.

    아래 구문을 추가하면 됩니다.

    .bottom p { margin-top: 0; }

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • p 태그에 기본 여백 값이 있네요. 이게 브라우저 별로 다를 수 있으니 스타일 설정시 리셋스타일이 필요합니다.

        * { 
            margin: 0; 
            padding:0;
        }
    

    이렇게 각 요소에 마진과 패딩을 0으로 초기화 하고 각 태크에 마진과 패딩을 설정하시면 됩니다.

    아 그리고 부가적으로...

    1. 너비를 꼭 고정하실 필요가 있나요 그냥 width: 100%; 로 설정해도 될 것 같네요.
    2. input 요소를 써서 nav를 구성하는 것은 바랍직 하지 않네요 웹표준에도 어긋납니다. a 요소를 사용하여 구성하시고 CSS에서 버튼모양으로 스타일 설정을 하세요.
    3. 왼 쪽 메뉴만 구성 할 것 같진 않네요.. 오른쪽에 콘텐츠도 넣으실 것 같은데.. CSS 에서 float 속성을 아마 적절히 사용하셔야 할 겁니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)