当前位置:首页 > 生活百科

html5导航栏代码(网页设计菜单栏导航实例)

栏目:生活百科日期:2025-03-26浏览:0

H5自适应是现在主流的技术,导航栏菜单是最常见的一种,今天我们一起来学习一下它是如何使用HTML,CSS和JavaScript来构建响应式导航栏和汉堡菜单的。

这就是它的样子,是不是很熟悉呢?

H5导航菜单

好的,那就先从HTML开始:

&<header class=”header”&>&<nav class=”navbar”&>&<a href=”#” class=”nav-logo”&>WebDev.&</a&>&<ul class=”nav-menu”&>&<li class=”nav-item”&>&<a href=”#” class=”nav-link”&>Services&</a&>&</li&>&<li class=”nav-item”&>&<a href=”#” class=”nav-link”&>Blog&</a&>&</li&>&<li class=”nav-item”&>&<a href=”#” class=”nav-link”&>About&</a&>&</li&>&<li class=”nav-item”&>&<a href=”#” class=”nav-link”&>Contact&</a&>&</li&>&</ul&>&<p class=”hamburger”&>&<span class=”bar”&>&</span&>&<span class=”bar”&>&</span&>&<span class=”bar”&>&</span&>&</p&>&</nav&>&</header&>

通过这些代码,我们实现了:

给header标签指定名为header的CSS类的,可以作为导航菜单的容器。给nav标签指定名为navbar的CSS类。具有nav-logo类的链接具有nav-menu类的ul在ul内部,我们有4个具有nav-item类的li在每个nav-item中,都有一个包含nav-link类的链接至于汉堡菜单,我已在代码中添加了一个具有hamburger类的p,且此p中有3个带bar类的span

以上就是我们需要的HTML代码。

现在让我们添加CSS样式重置代码

(此外,我们将导入所需的字体,并添加一些基本的CSS来重置所有的默认样式。)

@import url(‘https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,500;1,400&&display=swap’);* {margin: 0;padding: 0;box-sizing: border-box;}html {font-size: 62.5%;font-family: ‘Roboto’, sans-serif;}li {list-style: none;}a {text-decoration: none;}

现在让我们给每个元素逐个添加样式:

header和navbar:

.header{border-bottom: 1px solid #E2E8F0;}.navbar {display: flex;justify-content: space-between;align-items: center;padding: 1rem 1.5rem;}

hamburger样式:

.hamburger {display: none;}.bar {display: block;width: 25px;height: 3px;margin: 5px auto;-webkit-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out;background-color: #101010;}

其他元素的基本样式:

.nav-menu {display: flex;justify-content: space-between;align-items: center;}.nav-item {margin-left: 5rem;}.nav-link{font-size: 1.6rem;font-weight: 400;color: #475569;}.nav-link:hover{color: #482ff7;}.nav-logo {font-size: 2.1rem;font-weight: 500;color: #482ff7;}

完成这些之后,看起来应该是这样的:

但是它不是响应式的,所以我们还需要添加媒体查询css代码。

@media only screen and (max-width: 768px) {.nav-menu {position: fixed;left: -100%;top: 5rem;flex-direction: column;background-color: #fff;width: 100%;border-radius: 10px;text-align: center;transition: 0.3s;box-shadow:0 10px 27px rgba(0, 0, 0, 0.05);}.nav-menu.active {left: 0;}.nav-item {margin: 2.5rem 0;}.hamburger {display: block;cursor: pointer;}}

这里媒体查询就是通过设置position: fixed; left: -100%;来隐藏nav-menu。

此外,我们将hamburger设置为display: block;,所以现在可见。

我们还添加了一个额外的类.nav-menu.active,它在nav-menu上设置left: 0;。现在,到了添加javascript的时候了,以便在我们单击汉堡菜单时,会在nav-menu上添加此active类。

添加JavaScript

const hamburger = document.querySelector(“.hamburger”);const navMenu = document.querySelector(“.nav-menu”);hamburger.addEventListener(“click”, mobileMenu);function mobileMenu() {hamburger.classList.toggle(“active”);navMenu.classList.toggle(“active”);}

此处的函数mobileMenu()在hamburger和nav-menu上也添加了一个active类,从而打开mobile menu。单击hamburger时,我们可以使用hamburger上的active类来创建X动画。现在就开始做吧。

// Inside the Media Query..hamburger.active .bar:nth-child(2) {opacity: 0;}.hamburger.active .bar:nth-child(1) {transform: translateY(8px) rotate(45deg);}.hamburger.active .bar:nth-child(3) {transform: translateY(-8px) rotate(-45deg);}

现在看起来应该是这样的:

但是有一个问题,当我们单击链接时,汉堡菜单不会关闭。现在让我们解决一下这个问题。

const navLink = document.querySelectorAll(“.nav-link”);navLink.forEach(n =&> n.addEventListener(“click”, closeMenu));function closeMenu() {hamburger.classList.remove(“active”);navMenu.classList.remove(“active”);}

closeMenu()函数从nav-menu和hamburger中删除active类,从而关闭mobile menu。

H5导航菜单就是这样,实现了用HTML,CSS和javascript构建一个响应式的导航栏菜单。希望你喜欢并分享这篇文章。感谢大家的阅读。

“html5导航栏代码(网页设计菜单栏导航实例)” 的相关文章

个人工作记录软件哪个好(好用的工作日志软件介绍)

人们在工作的时候,有不同的工作任务,而在一天的工作任务当中,往往会有很多项工作要做。想要让自己的工作效率更高,可以将自己的工作内容记录下来,这样更有条理,执行的...

免费火锅加盟多少(自助火锅加盟十大排行榜)

自助餐厅会有地方让顾客拿食材和调料,但是点菜餐厅就没有这些地方了!1.确定消费水平经营者必须确定其火锅店属于什么消费水平。如果属于一般消费,装修整体要大方,装修...

2023年win10cf烟雾头最新调法(笔记本win10cf烟雾头最新

大家好,我是青草,今天给大家分享一个Win10系统调烟雾头的方法。第一步:在电脑的桌面空白处,鼠标单击右键,在弹出的列表中选择“显示设置”第二步:在弹出的这个“...

企业网络优化方案怎么写,撰写企业网站优化方案的五大要

企业网站不像门户站需要大量的内容,优化起来相对简单。但是企业网站的优化和常规站点一样,都需要过程。那么,企业站的优化思路和步骤是什么样的呢?武汉客绪方网站建设就...

创业网项目及加盟,初创公司前期要做些什么

有很多人有创业点子,但是也没有具体的实施起来,毕竟在创业初期很多事情都要考虑到的,那么大家知道初创公司前期应该准备什么吗?下面我们就来给大家分享一下公司创业前期...

关键词优化的方法有哪些,关键词优化常用工具及发展趋势

基本上所有的用户在寻找产品时,都会输入关键词去搜索,卖家也确实认认真真填写了关键词,但是却没有什么效果。比如卖家把产品、图片什么都选好了,但是买家却搜索不到你,...

个人公众号如何赚钱,个人免费公众号申请流程

微信公众号的功能有很多,如果你有自己的实体店铺或者是网店,可以通过公众号来积攒粉丝,然后去引流,达到推广的目的,如果你是个人也是可以利用它赚钱的,如何利用公众号...

复制pdf文字格式乱码(pdf复制粘贴乱码的解决方法)

大家好,我是小梦,给大家带来这期PDF转Word格式乱了怎么调整的干货内容,看过之后觉得有用的可以点个小星星收藏一下哦~正文:PDF转Word为什么会格式错乱?...

如何设计网站首页,网站首页设计原则及专业要求

当你在计划设计网站首页的时候,不一定要完全依赖电子设备。学会如何手绘可以帮助提高设计的效率,给你更多的灵感。设计学院里都会给学生们教授很多基础课程。毫无疑问,很...

gps软件哪个好(全球卫星定位追踪软件推荐)

这是因为相对GPS,北斗导航系统启动晚?,直到2018年才能全方位的实施全球定位,早期的北斗缺位,促成了手机生产商唯有使用GPS。美国从20世纪70年代就开始研...