【项目整理】一个好看的导航栏


在这里插入图片描述

需求:(思路梳理)
1.初始默认选中主页图标。
2.导航栏鼠标经过图标时,图标为蓝色,且下方显示图标名称。
3.选中子菜单名称时,其所在父级导航改为选中状态,图标为白色。
4.子菜单选中为单选。
6.点击主页图标,恢复到首页。

整个骨架

宽 80px div
for循环导航栏
图标
提示文字
子菜单显示

-for循环提前配好的配置项,方便后期增删改
-图标框需要和下方提示文字分开,因为交互效果不同

知识点1:v-for="(ele,index) in baseMenuCof"

把导航栏分成多个部分,子导航做成一个整体。遍历导航数组,得到并列的三个div。具体样式在这个div内部 子dom层设计,在这一层设置鼠标浮动和鼠标点击事件。

<div v-for="(ele,index) in baseMenuCof"
		:key="ele.id"
		:data-key="ele.id"
		@mouseover="changeMenu(ele.name,index,ele.top)"
		@click="backToHome()">
</div>
baseMenuCof:[
            {
                id:'shouye',
                active:'menuActive',  //定义点击之后的样式
                name:'首页',
                top:0  //样式设置
            },
            {
                id:'xxxx',
                active:'',
                name:'xxxx',
                top:258-80
            },
        ],

知识点2:border: transparent 4px solid

div内的第一个子元素,图标

 <div :class="['menu', ele.active]"><a :class="ele.id+' icon'"></a></div>

.menu设置固定样式 margin和padding,重点是border: transparent 4px solid; 为了鼠标浮动左侧有蓝色提示的时候,图标不会右移。ele.active 用来控制鼠标浮动后的样式,鼠标浮动事件中会给这个ele.active赋值。

知识点3: :class=“ele.id+’ icon’”

图标的颜色替换,用background+class来控制。
用.icon 设置一个整体图片的样式,通过.menu的状态改变来控制更换图片

 .menu a.icon{
    width: 40px;
    height: 40px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: 50%;
    background-color: transparent;
    background-position:center;
}

知识点4: “css”: .menu:hover a.icon

可以通过父级的hover、active等交互事件,控制子级的样式。

 .menu a.icon.shouye{
      background-image:  url('../assets/icon/home.png');
 }
 .menu:hover a.icon.shouye{
     background-image:  url('../assets/icon/home-hover.png')
 }
 .menu.menuActive a.icon.shouye{
     background-image:  url('../assets/icon/home-active.png')
 }

知识点5:.menu + span

"+"号是控制.menu标签后的第一个span元素样式,.menu:hover + span{ visibility: visible; } 来通过.menu的鼠标浮动控制span显隐。

完整代码

整体结构代码:

<template>
 <div id="leftMenu">
        <img alt="logo" src="../assets/logo.png" id="logo">
        <!-- 一级菜单 -->
        <div v-for="(ele,index) in baseMenuCof"
            :key="ele.id"
            :data-key="ele.id"
            @mouseover="changeMenu(ele.name,index,ele.top)"
            @click="backToHome()">
            <div :class="['menu', ele.active]"><a :class="ele.id+' icon'"></a></div>
            <span>{{ele.name}}</span> 
        </div>
 </div>
</template>

完整代码:一个好看的导航栏(Vue)

任何问题可以在评论区讨论交流

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个后台管理系统的页面设计需要考虑多个方面,包括用户体验、信息架构、可用性、可维护性等等。下面详细介绍一下如何设计一个高质量的后台管理系统页面。 1. 用户体验 在设计后台管理系统页面时,用户体验是非常重要的。这意味着页面需要易于使用,用户能够轻松找到他们需要的信息。以下是一些设计后台管理系统页面的建议: - 简洁明了的布局:页面应该有清晰的结构和组织,避免过于繁杂的页面布局。在设计页面时,应该尽量简化和组织页面元素,使用户更容易找到所需的信息。 - 直观的导航:设计一个清晰、直观的导航系统,可以帮助用户快速找到他们需要的功能和信息。导航菜单应该被放置在页面的顶部或侧边栏,并使用易于理解的标签和图标。 - 交互式元素:添加交互式元素,如下拉菜单、标签、按钮等,可以提高用户体验。这些元素可以让用户快速完成操作,并让页面更具吸引力。 - 明确的反馈:设计页面时,应该考虑用户在执行操作时需要明确的反馈。例如,在表单提交后显示成功或失败的消息。这可以帮助用户了解他们的操作是否成功。 2. 信息架构 一个良好的信息架构可以帮助用户快速找到他们需要的信息,并且可以让页面看起来更加整洁和有条理。以下是一些设计后台管理系统页面的建议: - 分类信息:对信息进行分类和分组,以帮助用户快速找到他们需要的信息。例如,可以将用户管理、内容管理等相关的功能组合在一起。 - 标签化:在页面上使用标签来帮助用户快速了解信息。例如,在列表中,可以使用标签来标识不同的项目状态。 - 搜索功能:添加搜索功能,可以帮助用户快速找到他们需要的信息。搜索框应该被放置在页面的顶部或侧边栏,并使用易于理解的搜索关键字和提示信息。 3. 可用性 可用性是指页面应该易于使用和理解。以下是一些设计后台管理系统页面的建议: - 明确的标签和标题:页面上的标签和标题应该易于理解和记忆。这可以帮助用户更快地找到他们需要的信息。 - 明确的指示:对用户进行明确的指示可以让他们更容易完成操作。例如,在表单中使用明确的标签和提示信息可以让用户更
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值