웹마스터 팁
2차메뉴 롤오버 위치 변환..
2008.06.05 14:40
http://www.zeroboard.com/15977640
위 주소에 있는 소마세월님 소스에서 약간만 수정하였습니다.
소마세월님 소스에서는 서브레이어가 고정으로 되어 있어서 2차 메뉴들이 계속 같은 자리에서만 나오더라구요.ㅠ
메뉴크기가 제각각일경우 유동적으로 나오도록 하였습니다.
우선 layout 수정부분에서 히든 레이어 부분만 수정하였습니다.
<!--히든 레이어 메뉴-->
<!-- main_menu 1차 시작 -->
{@ $idx = 1 }
<!--@foreach($main_menu->list as $key => $val)--><!--@if($val['text'])-->
<!--2차메뉴-->
<div class="subMenu" id="subMenu_{$idx}" style="<!--@if($val['selected'])-->display:block;<!--@else-->display:none;!--@end-->"
<!--@if($val['text']=='메인메뉴1')-->
<div class="subMenu1">
<!--@elseif($val['text']=='메인메뉴2')-->
<div class="subMenu2">
<!--@elseif($val['text']=='메인메뉴3')-->
<div class="subMenu3">
<!--@elseif($val['text']=='메인메뉴4')-->
<div class="subMenu4">
<!--@elseif($val['text']=='메인메뉴5')-->
<div class="subMenu5">
<!--@elseif($val['text']=='메인메뉴6')-->
<div class="subMenu6">
<!--@elseif($val['text']=='메인메뉴7')-->
<div class="subMenu7">
<!--@elseif($val['text']=='+
'+
'메인메뉴8')-->
<div class="subMenu8">
<!--@else-->
<div class="subMenu1">
<!--@end-->
<!--@foreach($val['list'] as $key1 => $val1)--><!--@if($val1['text'])-->
<!--@if($val1['selected'])--><!--@end-->
<a id="lnb1" href="{$val1['href']}" <!--@if($val1['+
'open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>{$val1['text']}</a>
<!--@end-->
<!--@end-->
</div></div>
<!--@end-->
{@$idx++}
<!--@end-->
<!-- main_menu 1차 끝 -->
<!--히든 레이어 메뉴 끝-->
위의 빨간색 부분으로 조건을 주어서 css에 메뉴별로 위치를 주었습니다.
여기서 주의할 건 배경을 통채로 위치를 지정해주게 되면 옆으로 계속 밀려난다는 겁니다.;;
그래서 위의 초록색 부분처럼 배경은 레이어를 따로 만들어 주고, 텍스트 부분만 padding으로 밀어주었습니다.
그럼 이제 css부분!!
.subMenu{position:absolute; left:218px; top:57px; background-color:#d2e3f1;width:730px;height:24px;}
.subMenu1{padding-left:10px;}
.subMenu2{padding-left:100px;}
.subMenu3{padding-left:195px;}
.subMenu4{padding-left:325px;}
.subMenu5{padding-left:415px;}
.subMenu6{padding-left:475px;}
.subMenu7{padding-left:575px;}
.subMenu8{padding-left:600px;}
subMenu 클래스는 배경 레이어이기 때문에 하나로 고정이구요..
아래의 subMenu1,2,3,4,5,6,7,8은 padding-left를 이용하여 텍스트의 위치를 유동적으로 주었습니다.
이 단점이 메뉴가 어느정도 적당할때는 그냥 사용이 가능하지만
서브 메뉴가 많아질 경우에는 padding 값을 또 수정해 주어야 하는데요..ㅡㅜ
뭔가 자동적으로 해줄 수 있는게 있을 것 같은데.. 거기까진 모르겠네요ㅠ
고수님들 부탁드립니다.ㅋ
댓글 3
-
초보
2008.07.24 01:10
-
아마겟돈
2008.09.15 02:06
배경지정부분에
<div class="subMenu" id="subMenu_{$idx}" style="<!--@if($val['selected'])-->display:block;!--@else-->display:none;<!--@end-->" >
위 꺽쇄 (붉은색) 빠졌습니다. -
카인군
2008.12.27 21:15
음 감사합니다 덕분에 해결했네요. 제가 css를 쓸줄몰라서 억지로 한 걸로 부연설명을 드리자면 소마세월님 소스 그대로 쓰시고 <!--2차메뉴--> 아래줄에 <div class="subMenu" 이부분 에서 class="subMenu" 지우시고 빨간색 부분 긁어서 붙여넣으신다음에 거기서 class 지정해주세요. 이런식으로 ; 좀 지저분해도 참아주세요 ㅠ.ㅠ<!--2차메뉴--><div<!--@if($val['text']=='홈')-->class="subMenu1"<!--@elseif($val['text']=='학과소개')-->class="subMenu2"<!--@elseif($val['text']=='교수님소개')-->class="subMenu3"<!--@elseif($val['text']=='게시판')-->class="subMenu4"<!--@elseif($val['text']=='학년별게시판')-->class="subMenu5"<!--@elseif($val['text']=='학생회')-->class="subMenu6"<!--@elseif($val['text']=='차후추가')-->class="subMenu7"<!--@else-->class="subMenu"<!--@end-->id="subMenu_{$idx}" style="<!--@if($val['selected'])-->display:block;<!--@else-->display:none;<!--@end-->">저기서 빨간색 글씨로 메인메뉴1 이라는건 메인메뉴 이름을 적어주시면 됩니다. 첫번째 메인메뉴 이름이 홈이라면 <!--@if($val['text']=='홈')--> 이렇게 적으시면 됩니다.css 부분에는 subMenu 1,2,3,4, 이것들 전부다 subMenu 에 있던 내용들 다 채워 넣으셔서 하시면 됩니다 ; 무식하면 용감하다고 제가 그꼴이네요 하하; 위치랑 패딩, 레이어 크기 같은건 수정하셔서 쓰시면 됩니다..subMenu{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;}.subMenu1{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:10px; }.subMenu2{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:50px;}.subMenu3{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:120px;}.subMenu4{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:200px;}.subMenu5{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:280px;}.subMenu6{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:400px;}.subMenu7{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:440px;}.subMenu8{position:absolute; left:50px; top:53px; background-color:transparent;width:530px;height:24px;padding-left:510px;}전 무식하게 이렇게 해결했습니다; 고수님들 보시면 좀 깔끔하게 부연설명 해주세요~
제목 | 글쓴이 | 날짜 |
---|---|---|
2차메뉴 롤오버 위치 변환.. [3] | 봄처녀 | 2008.06.05 |
Cafe 운영시 조그만한 팁... [2] | 부푸러 | 2009.04.03 |
모듈선택기의 문제해결 한가지 방법.. [1] | 한스김 | 2010.01.18 |
회원에게 만기일 주기(1원짜리 팁) [17] | 까오천사 | 2007.11.12 |
홈페이지 주소 고정시키기 [12] | :에반: | 2007.08.21 |
쉬운 설치, 에러 메시지 없이 설치 안 되는 경우 [4] | 이그누 | 2010.01.23 |
제로보드(zbxe) 설치 후 로그인 안되는 문제. [3] | sophistlv.myid.net | 2008.10.15 |
달력형 리스트 입니다. [5] | 착한악마 | 2009.07.01 |
xml js filter를 이용한 form 정보 전달 시 disabled="true" 사용 팁 [5] | 라르게덴 | 2010.01.20 |
모듈선택기의 창이 열리다 마는 현상때문에 고생하시는 분들께.. | 한스김 | 2010.01.21 |
이미지 정보표시(EXIF) 영문을 한글로 [6] | Diver | 2008.11.23 |
특정 게시판, 업로드된 그림 자동으로 본문에 출력하기 [14] | 대암지기 | 2008.02.03 |
Zeroboard와 비슷한 방식으로 website 만들기! [9] | June Oh | 2009.08.17 |
textyle Domain 접속방법 [5] | 왜만지냐 | 2009.10.15 |
파일 첨부시 사라지는 현상 [6] | Isaac Shepherd | 2009.10.07 |
사이트 먹통 되었을 때 대처법 [4] | LunarDream | 2009.08.14 |
zbxe 기본글꼴(폰트) 바꾸는 방법 [9] | 핸디지 | 2008.04.22 |
zb4 방명록 -> XE 방명록 답글을 코멘트로 넣기. [2] | St.Veiry | 2010.01.13 |
개인서버(윈도XP) + apmsetup6 + XE 설치하기 [1] | 꽃들 | 2010.01.06 |
XE용 query xml 방식으로 일반 테이블도 접근 처리 하기 [1] | 라르게덴 | 2009.06.18 |
전 소마세월님의 팁으론 2%로 부족해서 이 팁을 통해 롤오버 2차메뉴 설정을 제대로 하게 됬네요
감사합니다.