웹마스터 팁

제로보드 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
제목 글쓴이 날짜
1.0.3버전 외부 페이지 쿼리 스트링 붙일때 주의 하세요. 그라미 2008.06.03
일정 기간이 지난 글에 코멘트 등록 제한 [3] file 老姜君 2008.06.03
링크 사이트 제작을 위한 어드바이스 - Planning 1 - [7] file Hammer 2008.06.04
링크 사이트 제작을 위한 어드바이스 - Planning 2 - [6] file Hammer 2008.06.04
1.03버전 글쓸때 오류... [1] 화려한 부활 2008.06.05
링크 사이트 제작을 위한 어드바이스 - Fade In MouseOver - [3] file Hammer 2008.06.06
(위젯) 이미지 클라우드 스킨 사용 법 [2] file Simulz 2008.06.06
PHP 폼메일 [9] file 헥토르 2008.06.09
링크 사이트 제작을 위한 어드바이스 - MouseOver Preview - [6] file Hammer 2008.06.10
설치시 초기화면으로 돌아가는 문제 해결방법 [4] PICSTORY™ 2008.06.11
☆조회수.추천수 구간에 따른 이미지 나타내기(Hot 등..) - 갤러리게시판&최근이미지위젯☆ [5] 오기오기 2008.06.12
페이지 숫자에 네이버처럼 사각테두리 씌우기 [8] file 탑심 2008.06.15
할수 있다!! 내 맘대로 DB주무르기 ★DB방식 변경★ 토리세상 2008.06.16
페이지 작성이나 수정후 적용이 안돼서 고생하는 많은 분들을 위하여 [1] cyric 2008.06.17
설치후 권한 재조정 [4] 덱스터 2008.06.17
아이프레임속 링크를 기존페이지에서 이동하기 [1] file 정다운804 2008.06.19
업그레이드 쉽고,안전하게 하기 [5] wannabewize 2008.06.21
Autolink에 주소 복사 추가 & 본문 글 주소 복사 추가 [4] file 탑심 2008.06.22
[1원짜리팁] 큰 이미지 썸네일 못생성& 확장변수 원하는 곳에 배치하기 ^^ [2] 파파민 2008.06.23
동일한 계정내에서의 포워딩 방법 [2] file 하이쿠 2008.07.01