Vue实战第3章:主页设计之顶部导航栏

news2025/1/10 23:12:43
主页设计之顶部导航栏

前言
本篇在讲什么

本篇文章主要来制作一个导航栏,具体效果就按照下图来处理吧
本篇适合什么

适合初学Vue的小白
想了解建站的同学

本篇需要什么

Html语法有简单认知
CSS语法有简单认知
Vue有简单认知
依赖VS Code编辑器

本篇的特色

具有全流程的图文教学
重实践,轻理论,快速上手
提供全流程的源码内容


★提高阅读体验★

👉 ♠ 一级标题 👈

👉 ♥ 二级标题 👈

👉 ♣ 三级标题 👈

👉 ♦ 四级标题 👈


目录

  • ♠ 样式
  • ♠ 新建组件
  • ♠ 设计显示
    • ♥ 导航栏背景
    • ♥ 设置Logo的显示
    • ♥ 制作右侧导航按钮
  • ♠ 推送
  • ♠ 结语


♠ 样式

在这里插入图片描述
在这里插入图片描述


♠ 新建组件

在第一章Vue-router的基础上,我们首先在components内新建一个名为NavBar的vue脚本,我们将在这个脚本内编写和顶部导航栏相关的内容

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

很简单的一个脚本,我们在App.vue内引用新脚本页面,然后直接显示在页面的最顶端


♠ 设计显示

首先我们要明确我们自己的需求,然后再去逐步的实现我们的需求

  • 有一个带颜色的长条框框置顶
  • 左上角有一个Logo标志
  • 右上角存放各个跳转按钮
  • 跳转按钮左侧带一个小图标样式

♥ 导航栏背景

我们先做一个上居中的长条框框,设置好背景颜色,和框线粗细

<template>
    <div>
        <div class="header">
            <!-- todo -->
        </div>
    </div>
</template>

<script>
    export default {
        name: "NavBar"
    }
</script>

<style>
    .header{
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 70px;
        background-color:#F0F0F0;
        color: #F0F0F0;
        border: 1px solid #2c2c2c;
    }
</style>

在这里插入图片描述

如上述代码所示,我们做了一个名为header的的div组件,在style内给其设置了css的样式,高度、填充颜色、变现粗细等,最终得到了上图所示的效果

在这里插入图片描述

注意:默认下组件是没有贴顶部的,这里把App.vue下的margin-top属性删除或设置为0就好了


♥ 设置Logo的显示

我们在导航栏的左侧做一个Logo和title的显示

<template>
    <div>
        <div class="header">
            <div class="box">
                <h1>
                    <img src="../assets/logo.png">
                    <span>Sun</span>
                </h1>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        name: "NavBar"
    }
</script>

<style>
    .header{
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 70px;
        background-color:#F0F0F0;
        color: #F0F0F0;
        border: 1px solid #2c2c2c;
    }
    .box{
        display: flex;
        align-items: center;
    }
    h1{
        display: flex;
        align-items: center;
        font: normal 30px Cookie;
        padding: 0px 20px;
        color:#2c2c2c;
        font-family:"Microsoft YaHei";
    }
</style>

在这里插入图片描述

在这里插入图片描述

如上述代码所示,我们新建了一个box的div模块,里面包含了一个h1组件,并且h1组件内包含了一张图片和一个title,在下方style设计好css的显示样式,即得到了上述图片演示的样子


♥ 制作右侧导航按钮

需求比较简单,我们不需要搜索框和其他组件,简单的图片+文字的导航按钮即可,整理下需求和资源

  • 需求

    • 个人介绍
    • 工作经历
    • 作品介绍
    • 能力介绍
  • 资源(小logo)

在这里插入图片描述

<template>
    <div>
        <div class="header">
            <div class="box">
                <h1>
                    <img src="../assets/logo.png" class="img_title">
                    <span>Sun</span>
                </h1>
            </div>
            <div class="box">
                <nav class="nav_link">
                    <img src="../assets/home.png" class="img_btn">
                    <router-link class="link_btn" active-class="active" to="/home">首页</router-link>
                </nav>
                <nav class="nav_link">
                    <img src="../assets/data.png" class="img_btn">
                    <router-link class="link_btn" active-class="active" to="/data">个人介绍</router-link>
                </nav>
                <nav class="nav_link">
                    <img src="../assets/work.png" class="img_btn">
                    <router-link class="link_btn" active-class="active" to="/work">作品介绍</router-link>
                </nav>
                <nav class="nav_link">
                    <img src="../assets/power.png" class="img_btn">
                    <router-link class="link_btn" active-class="active" to="/power">能力介绍</router-link>
                </nav>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        name: "NavBar"
    }
</script>

<style>
    .header{
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 70px;
        background-color:#ffffff;
        color: #ffffff;
        border: 1px solid #2c2c2c;
    }
    .box{
        display: flex;
        align-items: center;
    }
    h1{
        display: flex;
        align-items: center;
        font: normal 30px Cookie;
        padding: 0px 20px;
        color:#2c2c2c;
        font-family:"Microsoft YaHei";
    }
    .img_title{
        width: 40px;
        height: 40px;
    }

    .nav_link{
        display: flex;
        align-items: center;
        padding: 0 30px;
    }
    .link_btn{
        text-decoration:none;
        color: #7F7F7F;
        font-size: 25px;
        font-weight: normal;
    }
    .img_btn{
        width: 30px;
        height: 30px;
    }
</style>

在这里插入图片描述

我们新增了一个div模块用来存放四个nav组件,该组件包含了一个图片和一个router-link组件,在css调整一下样式,就得到上图所示效果了


♠ 推送

  • Github
https://github.com/KingSun5

♠ 结语

略丑,就先这样吧,后边有空在搞搞效果吧,若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

👉 本文属于原创文章,转载请评论留言,并在转载文章头部著名作者出处👈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【redis6】第十三章(主从复制)

是什么 主机数据更新后根据配置和策略&#xff0c; 自动同步到备机的master/slaver机制&#xff0c;Master以写为主&#xff0c;Slave以读为主 能干嘛 读写分离&#xff0c;性能扩展 容灾快速恢复 怎么玩 拷贝多个redis.conf文件include(写绝对路径) 开启daemonize yes Pi…

连接mysql5.7错误1045,重新设置root用户密码,已经springboot连接配置

错误&#xff1a; ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: NO) 原因是&#xff1a; 是因为数据库中用户密码的问题。所以我们可以跳过数据权限验证&#xff0c;重新设置一下 一、修改my.ini配置文件 停止mysql服务 方法&#xff…

GJB 5000B二级-PMC项目监控

一、主要变化情况 新增2项(红色)、拆分3项(蓝色)、移除2项(黄色)、合并9项(绿色) 新增的主要内容-2项 增加多资源计划的监控要求:   军用软件系统具体设备间联系紧密,测试验证环节多、要求高等特点,其研发和测试需要众多软硬件资源支持,而这些资源往往是影响…

ConcurrentHashMap1.7和1.8的不同实现

ConcurrentHashMap 在多线程环境下&#xff0c;使用HashMap进行put操作时存在丢失数据的情况&#xff0c;为了避免这种bug的隐患&#xff0c;强烈建议使用ConcurrentHashMap代替HashMap&#xff0c;为了对更深入的了解&#xff0c;本文将对JDK1.7和1.8的不同实现进行分析。 J…

FreeRTOS中断管理 | FreeRTOS五

目录 说明&#xff1a; 一、中断基础 1.1、中断理解 1.2、中断执行步骤 1.3、中断寄存器选择位 1.4、中断优先级分类 二、中断优先级分组设置 2.1、分类 2.2、特点 三、中断有关寄存器 3.1、SHPR1寄存器 3.2、SHPR2寄存器 3.3、SHPR3寄存器 3.4、FreeRTOS中配置Pe…

最优传输问题与Sinkhorn算法

目录引言例子&#xff1a;分甜点最优传输问题Sinkhorn算法Sinkhorn距离算法流程代码实验引言 最近看到一篇特征匹配相关的论文&#xff0c;思想是将特征匹配问题转化为最优传输问题求解&#xff0c;于是我去学习了一下最优传输问题。 本文主要是对博文 Notes on Optimal Trans…

4.6 QR分解二:Householder变换

1 Householder reflector Householder反射是这样子的(图片来自瑞典皇家理工学院)&#xff1a;   图中u是长度为1的向量。x是任意向量&#xff0c;H是u的Householder reflector。可见无论x是什么向量&#xff0c;HxHxHx始终除于和u正交的平面上。H和u的关系是&#xff1a; HI…

【z-library平替】Clibrary中文图书馆,电子书大全

目录1、z-library和Clibrary简介2、Clibrary网址3、具体操作界面1、z-library和Clibrary简介 喜欢阅读的盆友多多少少可能都听过z-library&#xff0c;书籍库非常全&#xff0c;而且是免费的&#xff0c;但是在z-library国内下线后&#xff0c;就一直没有找到合适的平替书库。 …

【vue2】vuex超超超级详解!(核心五大配置项)

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vuex基础认识、state、getters、mutations actions、modules使用 目录(文末原素材) 一、…

新年找工作?python带你批量采集招聘数据

前言 大家早好、午好、晚好吖 ❤ ~ 必备素材: stealth.min.js 谷歌浏览器谷歌驱动selenium3.141.0 不知道怎么弄嘚同学可以私我获取哦~ 开发环境: python 3.8 pycharm 专业版 操作步骤 selenium 模块: 操作浏览器 打开一个浏览器 打开一个网址 获取数据 保存数据 …

性能测试工具-nmon

nmon 文章目录nmon介绍下载Linux系统服务器在服务器上新建nmon文件夹将下载文件上传到服务器新建的文件夹内修改文件名启动nmon启动nmon命令行使用nomn_analyser对监控结果进行分析图表分析nmon 主要用来做性能测试时对服务器的监控 捕捉各类系统资源的使用情况&#xff0c;并…

Maven实战-2.pom.xml标签说明

前言 持续更新中… pom.xml文件 1.<project> 这是pom.xml的根元素&#xff0c;所有的标签都包含在<project>…</project>之间。 2.<modelVersion> 指定当前POM模型的版本&#xff0c;对于maven2和maven3来说&#xff0c;它只能是4.0.0 <mode…

【linux】剖析底层——带你详细了解Linux内核源码的构成及其作用(1)

目录 一、arch文件 1.作用 2.arch文件下的子文件示意图 3.各个子文件的作用 &#xff08;1&#xff09;alpha &#xff08;2&#xff09;arc &#xff08;3&#xff09;arm &#xff08;4&#xff09;arm64 &#xff08;5&#xff09;cshy &#xff08;6&#xff09;…

8 加载数据集

文章目录前提知识了解数据集Mini-Batch常用术语DataLoader核心参数核心功能小tips课程代码实例课程来源&#xff1a; 链接课程文本部分来源&#xff08;参考&#xff09;&#xff1a; 链接以及&#xff08;强烈推荐&#xff09; Birandaの前提知识了解 enumerate函数 数据集 …

局域网中UTP连接,如何实现防止芯片损坏,防止信号产生各种误码,及实现CHIP之间的阻抗匹配

Hqst盈盛电子导读&#xff1a;局域网中UTP连接&#xff0c;如何实现防止芯片损坏&#xff0c;防止信号产生各种误码&#xff0c;及实现CHIP之间的阻抗匹配&#xff0c;浅谈网络滤波器作用一&#xff0c;在有线局域网中&#xff0c;计算机与服务器之间&#xff0c;计算机与路由器…

10、条件语句

目录 一、if语句的基本形式 1. if语句形式 2. if…else语句形式 3. else if语句形式 二、if的嵌套形式 三、条件运算符 四、switch语句 1. switch语句的基本形式 2. 多路开关模式的switch语句 一、if语句的基本形式 在if语句中&#xff0c;首先判断表达式的值&#x…

【BetterBench】2023年美赛辅导

通知 2023年美赛快开始啦&#xff0c;提醒大家比赛信息&#xff0c;比赛期间我会全称提供辅导&#xff0c;包括建模方案、实现代码&#xff01; 可以参考往年所有建模比赛&#xff0c;本人开源的建模方案及实现代码 2020-2023年所有数学建模竞赛专栏 报名信息 1.辅助报名截止…

【异常】前端Babel提示 Support for the experimental syntax ‘jsx‘ isn‘t currently enabled

一、报错内容 17:33:41 - Building for production... 17:34:13 ERROR Failed to compile with 5 errors5:34:09 PM 17:34:13 17:34:13 error in ./src/layout/components/Sidebar/Item.vue?vue&typescript&langjs& 17:34:13 17:34:13 Syntax Error…

《流浪地球2》看不懂?根服务器、权威解析,专业科普来了

随着《流浪地球2》的上映&#xff0c;关于国产硬科幻电影的话题也火爆起来&#xff0c;片中各种脑洞大开&#xff0c;科技设定可圈可点&#xff0c;例如量子计算机、脑机接口、太空电梯等。从专业角度来看&#xff0c;作为国产科幻大片之光的《流浪地球2》为了保证真实性确实狠…

二叉平衡树 之 红黑树 (手动模拟实现)

目录 1、红黑树的概念 2、红黑树的性质 3、红黑树节点的定义 4、红黑树的插入 5、红黑树验证 代码汇总 6、红黑树的删除&#xff08;了解&#xff09; 7、红黑树的应用 8、红黑树 VS AVL树 1、红黑树的概念 红黑树&#xff0c;就是一种特殊的二叉搜索树&#xff0c;每个…