开发者社区> 问答> 正文

使用less做一个菜单

我需要使用less做一个很普通的菜单,需要实现如下效果:

在某版面下面,某个菜单就要高亮。

比如sf菜单
screenshot
如果我在问答版块下面,问答这个menu就需要高亮。

之前的实现方式是 想在这个菜单外面的一个容器上加一个class 比如 wenda
那么最终实现就是
.wenda .wenda {

background: ...

}

.wenzhang .wenzhang {

background: ...

}

现在想使用less的循环功能实现,请尽量优雅。非常感谢。

展开
收起
杨冬芳 2016-06-02 15:19:31 1811 0
1 条回答
写回答
取消 提交回答
  • IT从业
    @items: wenda wenzhang huodong biaoqian bangdan;
    @items-len: length(@items);
    
    .create-menus(@items-len);
    
    .create-menus(@n,@i:1) when (@i=<@n){
      @menu: extract(@items,@i);
      @{menu} @{menu}{
        background: '...'
      }
      .create-menus(@n,(@i+1))
    }
    

    但是你的需求一般来说不这么实现
    使用额外的类来标记菜单的高亮是常用的方法

    <li class="menu__item active">
        <a href="#" >问答</a>
    </li>
    <li class="menu__item">
        <a href="#" >文章</a>
    </li>
    
    
    .active{
        background-color: #3F4F49;
    }
    2019-07-17 19:24:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载