繁体   English   中英

Typo3下拉菜单在特定级别的特定站点上自行销毁

[英]Typo3 dropdown menu destroys itself on specific site on specific level

我在TS中使用以下代码创建了一个下拉菜单:

TS:

MAIN_MENU = HMENU
MAIN_MENU {
    entryLevel = 0
    1 = TMENU
    1 {
        expAll = 1
        # Always output all childs, hide/unhide them with JS
        wrap = <ul>|</ul>

        # Normal state properties
        NO.wrapItemAndSub = <li>|</li> |*| <li>|</li> |*| <li class="last">|</li>

        # Enable active state and set properties:
        ACT < .NO
        ACT = 1
        ACT.ATagParams = class="activelink"
        ACT.wrapItemAndSub = <li class="active">|</li>
    }

    2 = TMENU
    2 {
        wrap = <div class="scnd_menu"><ul>|</ul></div>
        NO.allWrap = <ul id="scnd_menu_wrapper"><li><ul class="menu_secondLevel"><li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || </ul></li><li><ul class="menu_secondLevel"><li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || <li>|</li> || </ul></li><li><ul class="menu_secondLevel"><li>|</li> || <li>|</li> |*||*|
        ACT < .NO
        ACT = 1
        ACT.ATagParams = class="activelink"
        ACT.allWrap = <li class="active">|</li>
    }
}

CSS:

    /* Main Menu */
#menu_main {
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top:  45px;
    margin-bottom: 10px;
}
#menu_main ul {
    list-style: none;
}
#menu_main ul li {
    float: left;
    margin-bottom: 0;
    margin-left: 25px;
}

#menu_main ul li.active a {
    color: #AF0008;
}
#menu_main ul li a {
    color: #2c211a;
    width: 100%;
    text-align: center;
    display: block;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 5px;
    padding-right: 5px;
}
#menu_main ul li a:hover {
    text-decoration: none;
    color: #AF0008;
    background-color: #F1DED7;
}
#menu_main ul li:hover .scnd_menu, #menu_main ul li:hover ul.menu_secondLevel, #menu_main ul li:hover ul.menu_secondLevel_two, #menu_main ul li:hover ul.menu_secondLevel_three {
    display: block;
}
#menu_main .menu_main_sep_right, #menu_main .menu_main_sep_left {
    position: absolute;
    bottom: 0px;
    right: 0px;
    display: block;
    width: 1px;
    height: 69px;
    overflow: hidden;
}
#menu_main .menu_main_sep_left {
    background-position: bottom right;
    left: 0px;
}


/* Sec Menue */
.scnd_menu {
    display: none;
    position: absolute;
    z-index: 999;
    padding-top: 5px;
    padding-bottom: 5px;
    letter-spacing: normal;
    width: auto;
    max-width: 1030px;
    max-height: 365px;
    background-color: #fff;
}

#scnd_menu_wrapper {
    margin: 0;
    width: auto;
}

#scnd_menu_wrapper li {
    diplay: block;
    margin-left: 5px !important;
}
#scnd_menu_wrapper li:last-child {
    float: right;
}
ul.menu_secondLevel {
    display: none;
}

#menu_main ul li ul.menu_secondLevel li {
    float: none;
    width: auto;
    margin-left: 0px;
    margin-right: 0.5em;
    margin-bottom: 5px;
    margin-top: 5px;
}
#menu_main ul li ul.menu_secondLevel li a {
    display: inline;
    width: auto;
    font-size: 0.85em;
    color: #AF0008;
    white-space: nowrap;
}
#menu_main ul li ul.menu_secondLevel li.active,
#menu_main ul li ul.menu_secondLevel li.active a,
#menu_main ul li ul.menu_secondLevel li a:hover {
    background: none;
    color: #2c211a;
}
#menu_main ul li ul.menu_secondLevel li.active a:hover {
    font-style: italic;
}

/* Exeptions */
#menu_main ul li.last {
    position: relative;
}
#menu_main ul li.last .scnd_menu {
    right: -26px;
}
#menu_main ul li:nth-child(3) .scnd_menu {
    margin-left: -155px;
}
#menu_main ul li:nth-child(7) .scnd_menu {
    margin-left: -613px;
}

它可以正常工作,但是问题在于,如果我进入第二级的第一页,菜单就会被破坏。 它只发生在那儿,没有其他地方。

经过两天的尝试,我现在真的很累。 似乎某种程度上

  • 元素被撕破了原来的样子,但我不知道为什么! 也许有人看到我的失败?!

    谢谢!

  • 好的,我知道了。

    问题出在两个数字上:

    1.)我在彼此之后有两个<ul>'s

    2 = TMENU
    2 {
    wrap = <div class="scnd_menu"><ul>|</ul></div>
    NO.allWrap = <ul id="scnd_menu_wrapper"><li><ul> </span>
    class="menu_secondLevel"><li>|</li> || ...
    

    由于使用了allWrap因此设置了另一个<ul>

    所以我将其更改为wrapItemAndSub而不是allWrap

    并且:2.)WI仍在拆分NO并且NO被复制到ACT ,然后ACT.allWrap拆分被allwrap覆盖...。

    对于该转储错误,我深表歉意!

    暂无
    暂无

    声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM