웹마스터 팁

제로보드 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
제목 글쓴이 날짜
인용구 접기기능 링크이름 Underline 없애기 [4] file 똑디 2008.08.19
zbxe에 bgm을 설치하자 [11] file 우리아기 2008.08.16
zbxe에서 piclens 사용하기 [2] 우정진 2008.08.15
TRAC과 SVN을 참조하여 1.0.5의 애드온 설정 버그 해결하기 Adios 2008.08.04
1.0.3 버전 이상부터 본문 내 이미지 자동 리사이징이 안되는 경우 [1] kirrie 2008.08.01
본문의 서명과 프로필이미지를 끌어올려보자 [11] file CL님 2008.07.22
로컬 설치 후 몇가지 문제점에 대해서 - 인덱싱. DB선택 등 서정일643 2008.07.22
winxp IE7 rwapm에서 한글이름파일 업로드 [7] file 공수래 2008.07.15
초보 헤메다가 팁//댓글기능 보이기 감추기 [5] 리히토 2008.07.15
초보 헤메다가 팁//검색기능 보이기 감추기 [3] file 리히토 2008.07.15
게시판 가로조절(width) 및 가운데로 이동 태그 [4] 박상욱860 2008.07.12
조건별로 스킨 바꾸기 file 라르게덴 2008.07.11
최근게시물에 권한주어서 회원만 내용물보게하기 [1] 팔공산 2008.07.11
최고관리자 이외에는 ''회원정보보기''를 막기 [13] 비나무 2008.07.10
1차 메뉴에서 하위 메뉴 없을때 생기는 여백 없애는 방법 [7] 제로시오 2008.07.04
[팁]페이지별 댓글 출력 초간단 팁.. [4] 키티나 2008.07.04
동일한 계정내에서의 포워딩 방법 [2] file 하이쿠 2008.07.01
php폼메일 관련 한번 올려봅니다. 사용하실분들은 수정하셔서 사용해보세요.. [10] file 코리아프럼 2008.06.26
아이프레임속 링크를 기존페이지에서 이동하기 [1] file 정다운804 2008.06.19
페이지 작성이나 수정후 적용이 안돼서 고생하는 많은 분들을 위하여 [1] cyric 2008.06.17