【问题标题】:Highlight current link on navigation bar突出显示导航栏上的当前链接
【发布时间】:2015-08-23 14:26:23
【问题描述】:

需要帮助以突出显示导航栏上的当前类别。我怎样才能做到这一点?我真的很感激一些帮助。谢谢。

【问题讨论】:

  • 请举例。但我确信 magento 已经为此设置了相应的类,所以是的,这听起来像是 CSS 的工作。
  • 通过简单的查看源码大概就能找出那个类是什么
  • 如果有一个更完整的例子会很有帮助。您是否使用一些 magento 模板并尝试覆盖它?也许已经在别处设置了颜色。您可以尝试通过添加 !important 来覆盖它,但恕我直言,这将是最后的手段。如果我能看到具体的页面,评估会容易得多。
  • 谢谢,我快速浏览了一下。我看到的是似乎没有标记活动菜单项的 CSS 类(我想我们正在谈论“家、优惠、商店”等,对吗?)这一切都很简单<li> - 所以无法区分这些项目使用 CSS。第一步是确保相应的模板为当前选定的项目设置一个类,其余的应该很容易。但我对 magento 了解不多,所以很遗憾无法为您提供帮助。

标签: javascript php html css magento


【解决方案1】:
a:hover{background-color: yellow}

这个 CSS 会为你做这件事。

【讨论】:

  • 嗨亚当,谢谢你,但它不是悬停,我相信它会是一个活跃的。我需要突出显示当前选择的类别/链接。
  • 在这种情况下,我认为这与 :hover 或 :active 无关。据我了解,OP 想要突出显示当前选择的菜单项,而不是实现鼠标悬停等。
【解决方案2】:

你需要找到链接的页面id: 示例:

<a href="link_to_id"<?php if ($page_id == $link_to_id) { echo ' class="active"'; } ?>>Link</a>

css:

a.active {
font-color: red;
}

【讨论】:

  • 你有导航栏的代码或你正在工作的网站的链接
  • li:active a { font-color: red; }
  • 动态链接已经有一个li class="active"。您只需要将其添加到您的 css 文件中。添加:li:active a { font-color: red; } 添加到您的样式表中,看看它是否有效。
  • 我将创建一个答案,以便您查看我的实际代码,看看我是否做错了什么。
【解决方案3】:

您的 0 级菜单 CSS 与 1 级菜单 CSS 冲突 尝试更改#nav ul li a:active{}

【讨论】:

    【解决方案4】:

    @MichaelEugeneYuen

    这是我的top.phtml 文件,我添加了

    <li <?php if (Mage::helper('core/url')->getCurrentUrl() === $this->getUrl('Offers')):?>class="active"<?php endif;?>><a href="<?php echo $this->getUrl('contacts')?>">Offers</a></li>
    

    但是不知道放对了没有

    <?php
    
    /**
    
     * Top menu for store
    
     *
    
     * @see Mage_Catalog_Block_Navigation
    
     */
    
    ?>
    
    <?php
    
    /**
    
     * $this->renderCategoriesMenuHtml() supports optional arguments:
    
     * int Level number for list item class to start from
    
     * string Extra class of outermost list items
    
     * string If specified wraps children list in div with this class
    
     */
    
    ?>
    
    <?php $_menu = $this->renderCategoriesMenuHtml(0,'level-top') ?>
    
    <?php if($_menu): ?>
    
    <script>
    
            $j(document).ready(function(){
    
                    $j('#nav').mobileMenu();
    
            });
    
        </script>
    
    <div class="nav-container">
    
        <ul id="nav">
    
        <li <?php if (Mage::helper('core/url')->getCurrentUrl() === $this->getUrl('Offers')):?>class="active"<?php endif;?>><a href="<?php echo $this->getUrl('contacts')?>">Offers</a></li>
    
            <?php echo $_menu ?>
    
        </ul>
    
    </div>
    
    <?php endif ?>
    

    另外,我已将您给我的 CSS 代码添加到 0 级的 Style.css 中

    /* 0 Level */
        #nav li { 
            float: left;
            padding: 5px 17px 10px 0;
        }
        ul#nav{padding-left:0px }
        #nav a { font-size:18px!important;
        color: #666666 !important;
        float: left;
        padding-left: 5px;
        font-family: 'futura_lt_btlight'; !important;
        font-weight:normal !important;
        li:active a { font-color: red; }
         }
         .subcategories {
          padding-left: 0px !important;
          margin-right: 0px !important;
        }
        #mc-embedded-subscribe {
          float: left;
          width: 11px;
          background: url(https://www.blubond.com/wp-content/uploads/2015/01/cross.png) no-repeat !important;
          height: 11px;
          color: rgba(0, 0, 0, 0);
          text-indent: 9999px;
          border: 0px !important;
          margin-top: 7px;
          margin-left: 5px;
          box-shadow: none;
        }
        #nav > li:nth-child(3) {
        background: url("../images/main_menu_dd_arw.png") no-repeat 100% 15px;  
        margin-right: 16px;
        }
        .post-entry center {
          font-family: 'futura_lt_btlight';
          font-size: 18px;
          line-height: 24px;
        }
        .page-template-blog-excerpt-php .post {
          margin-bottom: 60px;
        }
        .page-template-blog-excerpt-php .post-entry {
          font-family: 'futura_lt_btlight';
          font-size: 18px;
          line-height: 24px !important;
        }
        .page-template-blog-excerpt-php .post-entry p {
          margin-bottom: 0px;   
        }
        .page-template-blog-excerpt-php .post-data {
          margin-top: 0px;
        }
         .nav-collapse a {
        text-align: left;
        }
        .rdiregdrop
        {
            background: url("../images/top_dd_arw-3.png") repeat scroll 0 0 rgba(0, 0, 0, 0);
            display: block;
            float:right;
            height: 5px;
            margin-left: 0;
            margin-right: 6px;
            margin-top: 11px;
            width:9px;
        }
        #nav li.over a,
        #nav a:hover { color:#9f9f9f;}
        .rdishopdd{display: block;float:right;height:5px;width:9px;display:none; margin-left: 5px;
            margin-top: 10px;}
        .rdishopdd:hover{background: url("../images/main_menu_dd_arw.png") repeat scroll 0 0 rgba(0, 0, 0, 0); display: block;float:right;height:5px;width:9px;display:block;margin-left: 5px;
            margin-top: 10px;} 
    

    【讨论】:

    • 试试这个:
    • getCurrentUrl() == $this->getUrl('Offers')){ echo ' class="活跃"'; } ?>>Offers
  • 并添加:li:active a { font-color: red; } 到 CSS
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签