uni-app项目实战笔记16--实现头部导航栏效果

先来看效果:

要求:顶部导航栏要始终固定在上方,不随页面上下拖动而消失。

代码实现:

1.定义一个自定义导航栏组件:custom-nav-bar.vue,并写入如下代码:

html 复制代码
<template>
	<view class="layout">
		<view class="navBar">
			<view class="statusBar">
				
			</view>
			<view class="titleBar">
				<view class="title">标题</view>
				<view class="search">
					<uni-icons class="icon" type="search" color="#888" size="18"></uni-icons>
					<text class="text">搜索</text>
				</view>
			</view>
		</view>
		<view class="fill">
			
		</view>
	</view>
</template>

上面的代码定义了状态栏,标题栏的布局,其中:

1.状态栏主要显示时间、手机剩余电量等信息;

2.标题栏:实现搜索框,标题的效果。

CSS代码:

css 复制代码
<style lang="scss">
  .layout{
	 .navBar{
		 position: fixed;
		 top:0;
		 left: 0;
		 width: 100%;
		 z-index: 10;
		 background:
		 linear-gradient(to bottom,transparent,#fff 400rpx ),
		 linear-gradient(to right,#beecd8 20%,#F4E2d8);
		 .statusBar{}
		 .titleBar{
			 display: flex;
			 padding: 0 30rpx;
			 align-items: center;
			
			 .title{
				 font-size: 32rpx;
				 font-weight: 700;
				 color:$text-font-color-1;
			 }
			 .search{
				 width: 220rpx;
				 height: 50rpx;
				 border-radius: 60rpx;
				 background: rgba(255,255,255,0.4);
				 border: 1px solid #fff;
				 margin-left: 30rpx;
				 color:#999;
				 font-size: 28rpx;
				 display: flex;
				 align-items: center;
				 .icon{
					 margin-left: 5rpx;
				 }
				 .text{
					 padding-left: 10rpx;
					 
				 }
			 }
		 }
	 } 
  }
</style>

CSS代码知识概要:

1、固定定位 (position: fixed)

导航栏会脱离文档流,始终固定在浏览器窗口的指定位置,不随页面滚动而移动。

2、紧贴顶部和左侧 (top: 0; left: 0)

导航栏会固定在浏览器窗口的最顶部(top: 0),并且从最左侧开始布局(left: 0)。

3、全宽度 (width: 100%)

导航栏会横向撑满整个屏幕宽度,覆盖整个视窗的顶部区域。

4、层级较高 (z-index: 10)

导航栏会显示在普通元素(z-index 默认是 auto 或 0)的上方,确保它不会被其他内容遮挡,同时可以覆盖下方的滚动内容。

实际应用场景:

适用于网页的顶部导航栏(如菜单栏、搜索栏、标题栏等)。

常见于移动端或单页应用(SPA),确保导航始终可见,方便用户操作。

通常配合 padding-top 或 margin-top 给页面主体内容留出空间,避免被导航栏遮挡。

相关推荐
小徐_23331 小时前
uni-app 也能远程调试?使用 PageSpy 打开调试的新大门!
前端·微信小程序·uni-app
雷工笔记2 小时前
MES学习笔记之SCADA采集的数据如何与MES中的任务关联起来?
笔记·学习
繁星星繁3 小时前
【C++】脚手架学习笔记 gflags与 gtest
c++·笔记·学习
2301_810746314 小时前
CKA冲刺40天笔记 - day20-day21 SSL/TLS详解
运维·笔记·网络协议·kubernetes·ssl
YJlio5 小时前
SDelete 学习笔记(9.18):安全删除、空闲清理与介质回收实战
笔记·学习·安全
00后程序员张6 小时前
HTTPS Everywhere 时代的抓包挑战,从加密流量解析到底层数据流捕获的全流程方案
网络协议·http·ios·小程序·https·uni-app·iphone
草字6 小时前
uniapp 悬浮按钮支持可拖拽。可移动。
前端·javascript·uni-app
7446 小时前
数据结构(C语言版)线性表-单链表的拓展及应用
笔记·强化学习
xiaozi41206 小时前
Ruey S. Tsay《时间序列分析》Python实现笔记:综合与应用
开发语言·笔记·python·机器学习
d111111111d6 小时前
STM32低功耗学习-停止模式-(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习