Typo3 - vertikales Menü mit GMENU in Ebene 1
Aus Wikizone
Modifiziert von Stephan Schlegel März 2007 TypoScript
### Header-Data ###
# Todo-> auslagern
page.headerData{
90 = COA
90{
50 = TEXT
50.value (
<style type="text/css" media="all">
@import "/fileadmin/templates/multiMenu/multimenu.css";
</style>
<!-- Multimenu js needed for it to work start-->
<script type="text/javascript" >
function init(){
activateMenu('nav');
/* activateMenu('vertnav');*/
}
</script>
<script src="/fileadmin/templates/multiMenu/multimenu.js"
type="text/javascript">
</script>
<!-- Multimenu js end -->
)
}
}
marks.MENU = HMENU
marks.MENU {
1=GMENU
1 {
wrap = <ul id="nav">|</ul>
expAll = 1
noBlur = 1
NO = 1
NO {
allWrap = <li>|</li>
transparentBackground = 1
XY = [10.w]+20, 22
5 = IMAGE
5.file = fileadmin/ringergeorg/div/horizontal_GMENU/no.gif
10=TEXT
10 {
text.field=title
offset=10,15
fontColor = #FFFFFF
fontFile=fileadmin/fonts/arialbd.ttf
fontSize=10
}
}
RO <.NO
RO.5.file = fileadmin/ringergeorg/div/horizontal_GMENU/hover.gif
ACT <.RO
IFSUB <.NO
IFSUB.allWrap = <li class="menuparent">|
ACTIFSUB <.RO
ACTIFSUB.allWrap = <li class="menuparent">|
ACTRO <.RO
ACTIFSUBRO <.RO
IFSUBRO <.ACTIFSUBRO
}
2 = TMENU
2 {
wrap = <ul>|</ul></li>
expAll = 1
noBlur = 1
NO = 1
NO.allWrap = <li>|</li>
ACT <.NO
ACT.allWrap = <li class="nav2act> |</li>
IFSUB = 1
IFSUB.allWrap = <li class="menuparent">|
ACTIFSUB = 1
ACTIFSUB.allWrap = <li class="menuparent">|
}
3 <.2
}
CSS
body {
font: 78%/1.5 arial, helvetica, serif;
padding: 0;
margin: 2em;
}
#nav, #nav ul {
float: left;
width: 86em;
list-style: none;
line-height: 1em;
background-image: url(l1_bg.gif);
color: #FFF;
padding: 0;
}
#nav li li {
background:red;
border-bottom:1px solid #fff;
}
#nav a {
display: block;
xwidth: 7em;
color: #FFF;
text-decoration: none;
padding: 0.2em 0em;
}
#nav a.menuparent {
background: url(pfeil.gif) no-repeat 90% 40%;
}
#nav li {
float: left;
padding: 0;
}
#nav ul li a {
color: #FFF;
font-size:11px;
font-weight:bold;
}
#nav li ul {
position: absolute;
left: -999em;
height: auto;
width: 14em;
font-weight: normal;
margin: 0;
}
#nav li li {
width: 15em;
}
#nav li ul a {
}
#nav li ul ul {
margin: -1.45em 0 0 14em !important;
margin: -1.45em 0 0 14.45em ;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
left: -999em;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
left: auto;
}
#nav li li:hover, #nav li li.sfhover {
background: #ff4d00;
}
#nav li li {
x background: red;
}
#nav li li a {
padding-left:5px;
}
#nav li ul {
background-image: none;
}
JavaScript
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);