웹마스터 팁

제로보드 XE를 사용하면서 이상한 버그(?)가 있다고 생각했다. 로그인 위젯 아래 2차 메뉴 있는 자리에 지맘대로 여백이 생겼다 말았다 하는 것이 바로 그것이다. 그러나 이제 알고보니, 이것은 1차 메뉴 아래에 2차 메뉴가 정해지지 않았을때 생기는 현상으로서 제로보드 자체의 버그라고 할 수는 없을 것 같다. 특히 이러한 현상은 익스플로러에서만 일어나고 파이어폭스에서는 일어나지 않는다.

이렇게 1차 메뉴 아래에 2차 메뉴가 정해지지 않았을때 익스플로러에서 원치 않는 여백이 생기는 현상은 비록 제로보드 자체의 버그라 할 수는 없지만, 그래도 사이트를 제작하는 사람에게는 매우 당혹스러운 일이 아닐 수 없다. 그러면 어떻게 이 문제를 해결할 수 있을까?  나는 컴퓨터나 웹 관련 전공자는 아니기에 세련된 방법은 모른다. 그러나 제로보드 XE 고수분들이 이 문제에 대한 더욱 세련된 방법이 있으면 소개해 주기를 기대하면서, 여기서는 이 문제를 해결한 나의 방법을 공개하고자 한다.

레이아웃 파일(layouts.html)을 보면 다음과 같은 구절이 있다. 이것은 1차 메뉴가 정해지고 나서 하위 메뉴(2차 이하의 메뉴)가 있을때 그것을 불러오는 소스이다.

   <!--@if($menu_1st)-->
   <ol id="lnb">
                {@ $idx = 1 }
                <!--@foreach($menu_1st['+
 '+
 'list'] as $key => $val)--><!--@if($val['link'])-->
    <li <!--@if($val['selected'])-->class="on"<!--@end-->><a href="{$val['href']}" <!--@if($val['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>{$val['link']}</a>
                    <!-- main_menu 3차 시작 -->
                    <!--@if($val['list'] && ($val['expand']=='Y'||$val['selected']) )-->
     <ul>
                    <!--@foreach($val['list'] as $k => $v)--><!--@if($v['link'])-->
      <li <!--@if($v['selected'])-->class="on"<!--@end-->><a href="{$v['href']}" <!--@if($v['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>{$v['link']}</a></li>
                    <!--@end--><!--@end-->
     </ul>
                    <!--@end-->
    </li>
                {@$idx++}
                <!--@end--><!--@end-->
   </ol>
   <!--@end-->

그런데 문제는 1차 메뉴 아래에 하위 메뉴(2차 이하의 메뉴)가 없을때 생기는 것이므로,  바로 이 if조건문 안에 '하위 메뉴(2차 이하의 메뉴)가 없는 1차 메뉴'가 아닐 경우에만 조건문을 실행하도록 함으로써 문제를 해결 할 수 있다.

여기서 내가 사용한 방법은 단순히 하위 메뉴를 가지지 않은 1차 메뉴의 미드(mid)를 if조건문 안에 직접 적는 것이었다. (매우 무식한 방법일지 모르나, 사실 하위 메뉴를 가지지 않는 1차 메뉴는 몇개 되지 않을 것이다.) 예를 들면, 내 홈페이지의 경우 상단에 나타난 1차 메뉴 중에서 '메인($mid는 zeroceo)'과 '프롤로그($mid는 prologue)'는 하위 메뉴를 가지고 있지 않다. 이 경우 다음과 같이 제일 위에 있는 if조건문 안에 '미드가 제로시오와 프롤로그가 아닐 경우라는 조건'을 삽입함으로써 문제를 해결 할 수 있었다.

 <!--@if($menu_1st)-->
 <!--@if($menu_1st && $mid != 'zeroceo' && $mid != 'prologue' )--> 

ps) 제 홈페이지에 있는 글을 그대로 퍼온 것이라 경어를 쓰지 않았습니다. 이해해 주세요 ^^

태그 연관 글
  1. [2018/02/12] 묻고답하기 레이아웃 테이블 여백(공백) 문제 by 개구리
  2. [2015/05/02] 묻고답하기 CKEditor에서 "소스보기"에서

    사이에 여백을 어떻게 없애나요? by Paul *11

  3. [2010/09/04] 묻고답하기 외부페이지 등록 시 페이지 상단/하단에 여백이 생깁니다... ㅜㅜ by 인텔리지 *3
  4. [2010/03/13] 웹마스터 팁 padding, margin, font, border by 된장맛껌 *2
  5. [2009/07/14] 묻고답하기 페이지 젤 위에 빈틈없앨려면(스크롤)... by Jiyoung540
제목 글쓴이 날짜
서브 메뉴를 항상 펼쳐있도록... [2] :맥노턴 2008.01.01
file 업로드 않될때, 메뉴생성및수정이 않될때 [2] plruto 2008.01.31
왼쪽메뉴줄이고 오른쪽에 박스만들어 내용쉽게넣기 [15] file plruto 2008.02.07
메인메뉴에서 2차메뉴가 1차메뉴를 따라다니는 롤오버 메뉴로 만들기 [13] 우야노 2008.05.03
2차메뉴 롤오버 위치 변환.. [3] 봄처녀 2008.06.05
1차 메뉴에서 하위 메뉴 없을때 생기는 여백 없애는 방법 [7] 제로시오 2008.07.04
메뉴에 이미지 버튼 사용하기 팁이요~ 이미지첨부! [3] file Zzini.net 2008.07.05
1원팁) 톱메뉴를 제거하고 왼쪽 서브메뉴만 출력하는 방법 [2] file Gnee 2008.08.02
문서 카테고리를 메뉴에 적용하기 위한 레이아웃 수정 팁과 개념토론 [7] 제베 2008.08.31
메뉴 모듈 기능 조금 추가 [23] [1] file 반도체맨 2008.09.29
상단메뉴 레이어메뉴 위치 디테일하게 조정하기 [1] file HomeBox™ 2008.10.10
[초간단]회원팝업메뉴에 메뉴넣기 [1] Pw-NET 2008.11.30
제로보드 DTREE 메뉴 적용하기 ( 카테고리 선택기 흉내 냈습니다.) [5] file 조성우371 2009.01.17
메뉴활성화에 따라 원하는 위치에 레이어 넣고 바꾸기.. 왼쪽 플래시 메뉴 메뉴따라서 바꾸기 [4] 만쓰별(정만) 2009.01.24
Smarty 한글 메뉴얼 공개합니다. [1] 미니미 2009.03.04
페이지 및 게시판 메뉴 경로 [2] file 자반튀김 2009.04.15
관리자모드에서 메뉴 항상 펼치기 [1] file 아드레날린 2009.06.09
게시판 메뉴에 새글 알림 표시 띄우기 [13] file 보거스내친구 2009.06.21
회원 팝업메뉴에서 작성글 클릭시 다른 아이디 검색 안되게 하기 [3] 절망린 2009.07.03
2차 메뉴가 없을 경우 왼쪽 메뉴 숨기기 [5] file 엔시아- 2009.07.16