We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 35891
    • 3 Posts
    Добрый день! Совсем недавно начал изучение modx и столкнулся с непонятной для меня проблемой - никак не удается настроить меню сайта. Код меню:
    <div id="menu">
    <div>
    <ul>
    <li class="category first"><a href="index.html" title="Главная" img src="">Главная</a></li>
    <li class="category "><a href="/news.html" title="Новости">Новости</a></li>
    <li class="category "><a href="/products.html" title="Продукция">Продукция</a></li>
    <li class="category "><a href="/price.html" title="Стоимость">Стоимость</a></li>
    <li class="category "><a href="/contacts.html" title="Контакты">Контакты</a></li>
    <li class="category last"><a href="/company.html" title="О компании">О компании</a></li>
    </ul>
    </div>
    </div>


    CSS для меню:
    #menu{
    width:100%;
    height:0px;
    background: #ffffff;
    font: 8pt ’Verdana’;
    }
    #menu div {
    width: 720px;
    margin:auto;
    }
    #menu ul li {
    margin: 0px;
    padding: 0px;
    list-style:none;
    position: relative;
    float: left;
    width:120px;
    display: block;
    text-align: center;
    font-weight:normal;
    }
    #menu ul li.firstcategory:hover, #menu ul li.firstcategory.over {
    color: #fff;
    background-image: url(../images/8-1.png);
    }
    #menu ul li.category:hover, #menu ul li.category.over {
    color: #fff;
    background-image: url(../images/7-1.png);
    }
    #menu ul li.lastcategory:hover, #menu ul li.lastcategory.over {
    color: #fff;
    background-image: url(../images/8-1.png);
    }
    #menu li.active a {
    color: #000;
    width: 120px;
    display: block;
    }
    #menu li a, #menu li.over a {
    color: #fff;
    width: 120px;
    display: block;
    }
    /* Styles for Menu Items */
    #menu ul li.firstcategory {
    font-weight: normal;
    height: 23px;
    line-height: 30px;
    padding-right: 0px;
    padding-left: 0px;
    background-image: url(../images/8-1.png);
    background-repeat: no-repeat;
    background-position: 0px;
    margin: 0px;
    }
    #menu ul li.category {
    font-weight: normal;
    height: 23px;
    line-height: 30px;
    padding-right: 0px;
    padding-left: 0px;
    background-image: url(../images/8-1.png);
    background-repeat: no-repeat;
    background-position: 0px;
    margin: 0px;
    }
    #menu ul li.lastcategory {
    font-weight: normal;
    height: 23px;
    line-height: 30px;
    padding-right: 0px;
    padding-left: 0px;
    background-image: url(../images/8-1.png);
    background-repeat: no-repeat;
    background-position: 0px;
    margin: 0px;
    }
    #menu ul li.active {
    font-weight: normal;
    height: 23px;
    line-height: 30px;
    padding-right: 0px;
    padding-left: 0px;
    background-image: url(../images/7-1.png);
    background-repeat: no-repeat;
    margin: 0px;
    }


    Суть проблемы в том что никак не удается отобразить класс "category"
      • 18573
      • 30 Posts
      *wall*
      хз, что у тя там творится - дай ссылку на саму страницу или дай ее полный архив
        • 22668
        • 718 Posts
        попробуйте
        #menu ul li.category.first
        и дальше по аналогии.
          • 7662 ☆ A M B ☆
          • 276 Posts
          И почему все любят громоздить тучу лишнего кода?

          почему бы не оформить меню как:
          <ul class="topmenu">
          <li><a href>.....

          </ul>

          а css писать ?

          .topmenu LI
          .topmenu LI A
          .topmenu LI LI
          .topmenu LI LI A
          .topmenu LI .active A
          .topmenu LI UL
          и так далее huh
          и с шаблонами возиться не надо и все просто и понятно smiley
            http://modx.im - Russian community
            http://extras.evolution-cms.com - Repository for Evolution
            • 18573
            • 30 Posts
            @Paprikas
            ты что-то такое сакраментальное написал, что даже я невкурил
            #menu ul li.category.first - в данной верстке это не указывает ни на один элемент

            @dmi3y

            ну впринципе ты прав, KISS, но это медленно работает, и надо это понимать
              • 22668
              • 718 Posts
              Конечно самый правильный вариант - добавить класс для ul.
              И переписать абракадабру на ul.category li.last

              @Masterkey_SCR
              Чем вас смущает мое правило?
                • 18573
                • 30 Posts
                а фиг его знает, что смутило, наверное то что надо было еще и хтмл код привести, а на существующем коде этот идентификатор бы не отработал
                да и вот такая структура, без вложений мне кажется перегруженной ненужными классами
                <div id="menu">
                <ul>
                <li class="category">
                <a class="first"></a>
                <a></a>
                </li>
                </ul>
                </div>
                  • 22668
                  • 718 Posts
                  И можно узнать почему бы не работал?

                  PS. Еще меня смущает в первом пункте меню вот это - img src=""
                    • 18573
                    • 30 Posts
                    @Paprikas
                    даа, это жестяк, но тс видать забил
                      • 22668
                      • 718 Posts
                      Ну, выложенные им стили как оказалось, половина не используется вообще.

                      А по поводу правила Вы так и не ответили, почему правило li.first.category не будет работать с хтмл
                      <li class="first category">
                      м?

                      Просто может я чего-то не знаю.