Joomla 菜单 CSS

发布于 2025-01-06 17:50:03 字数 714 浏览 2 评论 0原文

我想在页面顶部创建一个菜单,因为 css 中的特定布局,我认为这是在我的模板(index.php)中使用以下代码来实现此目的的解决方案

    $item_active = $menu->getActive();
    for($i = 0; $i >  count($menu_items); $i++){
        $item = $menu_items[$i];            
        if($item_active->id == $item->id)
            echo '<a href="'.$this->baseurl.'/'.$item->route.'"><div id="button_pressed"><div id="button_text">'.$item->title.'</div></div></a>';
        else
            echo '<a href="'.$this->baseurl.'/'.$item->route.'"><div id="button"><div id="button_text">'.$item->title.'</div></div></a>';

    }

,但是没有更好的方法吗?我想我在这里缺少一个链接

I wanted to create a menu in the top of the page, because of the specific layout in the css i thought this is a solution to do this using the following code in my template (the index.php)

    $item_active = $menu->getActive();
    for($i = 0; $i >  count($menu_items); $i++){
        $item = $menu_items[$i];            
        if($item_active->id == $item->id)
            echo '<a href="'.$this->baseurl.'/'.$item->route.'"><div id="button_pressed"><div id="button_text">'.$item->title.'</div></div></a>';
        else
            echo '<a href="'.$this->baseurl.'/'.$item->route.'"><div id="button"><div id="button_text">'.$item->title.'</div></div></a>';

    }

But isnt there a better way, i think im missing a link here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

合久必婚 2025-01-13 17:50:03

您需要做的是覆盖 css,例如 a:link、a:hover、a:visited 使用白色,但活动页面需要灰色。你只需将所有内容都做相同的操作,然后将 !important 放在 #active_menu 的后面作为示例:

#main a:link, #main a:hover, #main a:visited {colour:#FFF;}

#active_menu {#CCC !important;}

What you have to do is override for css such that a:link, a:hover, a:visited are using white colour but you need grey colour instead for active page. You just make anything the same and put !important behind that in #active_menu as example :

#main a:link, #main a:hover, #main a:visited {colour:#FFF;}

#active_menu {#CCC !important;}
雪化雨蝶 2025-01-13 17:50:03

这不应该出现在您的模板中。菜单应该位于模块中。大多数菜单模块都内置了主动突出显示。甚至核心 Joomla mod_menu 也支持主动突出显示。

This shouldn't be in your template. The menu should be in a module. Most menu modules have active highlighting built in. Even the core Joomla mod_menu supports active highlighting.

凌乱心跳 2025-01-13 17:50:03

我认为一个好方法,也是我经常使用的方法,是在链接类中使用三元运算符。

-- inside de <a> tag bt without the spaces in the < a> -- 

< a class="button <?= $item_active->id == $item->id ? : 'button_pressed' : '' ?>" >Hello< /a>

然后将 CSS 规则添加到 .button_pressed

这是一种非常干净的方法。只需询问您是否需要进一步帮助即可:D

I think a good way, and it's the way I always use, is with a ternary operator inside the class of the links.

-- inside de <a> tag bt without the spaces in the < a> -- 

< a class="button <?= $item_active->id == $item->id ? : 'button_pressed' : '' ?>" >Hello< /a>

Then you add the CSS rules to .button_pressed

It's a very clean way to do it. Just ask if you want further help :D

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文