jy-safe-app/components/custom/head-nav.vue

89 lines
1.7 KiB
Vue
Raw Permalink Normal View History

2025-10-14 15:17:30 +08:00
<template>
<!-- #ifndef H5 -->
<view class="nav-box" :style="{'height':height}">
<!-- 状态栏占位 -->
<view class="status_bar" :style="{'height':statusBarHeight}"></view>
<!-- 导航内容 -->
<view class="nav-main" :style="{'height': navBarHeight}" style="font-size: 16px;opacity: 1;">
<view class="title-info">{{title}}</view>
</view>
</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<view style="background-color: #ffffff;" :style="{'height':statusBarHeight}"></view>
<!-- #endif -->
</template>
<script>
export default {
props: {
title: {
type: String,
default: ''
},
},
data() {
return {
// 自定义导航栏高度总和
height: 0,
// 状态栏高度
statusBarHeight: 0,
// 导航栏高度(不包含状态栏)
navBarHeight: 0
}
},
created() {
let that = this;
uni.getSystemInfo({
success: function(res) {
if (res.model.indexOf('iPhone') !== -1) {
that.navBarHeight = 44 + 'px'
that.height = res.statusBarHeight + 44 + 'px'
} else {
that.navBarHeight = 48 + 'px'
that.height = res.statusBarHeight + 48 + 'px'
}
that.statusBarHeight = res.statusBarHeight + 'px';
}
})
},
methods: {
}
}
</script>
<style>
.nav-box {}
.status_bar {
/* width: 100%; */
background-color: #ffffff;
}
.nav-main {
/* position: fixed; */
padding: 7px 3px;
text-align: center;
overflow: hidden;
box-sizing: border-box;
z-index: 998;
background-color: #ffffff;
/* width: 100%; */
}
.title-info {
display: flex;
align-items: center;
justify-content: center;
color: #000;
text-align: center;
line-height: 30px;
/* font-weight: bold; */
}
.nav-main-title {
color: #000;
font-size: 32px;
}
</style>