<template>
<view class="navbar">
<view class="navbar-fixed">
<view :style="{height:statusBarHeight+'px'}">
</view>
<view class="navbar-content" :style="{height: navBarHeight+'px',width:windowWidth+'px'}">
<view class="navbar-search">
<view class="navbar-search_icon">
</view>
<view class="navbar-search_text">
uni-app vue
</view>
</view>
</view>
</view>
<view style="height: 45px;">
</view>
</view>
</template>
<script>
export default {
data() {
return {
statusBarHeight: 20,
windowWidth: 375,
navBarHeight: 45
}
},
created() {
const info = uni.getSystemInfoSync()
this.statusBarHeight = info.statusBarHeight
this.windowWidth = info.windowWidth
const menuButtonInfo = uni.getMenuButtonBoundingClientRect()
console.log(menuButtonInfo);
this.navBarHeight = (menuButtonInfo.bottom - info.statusBarHeight) + (menuButtonInfo.top - info
.statusBarHeight)
this.windowWidth = menuButtonInfo.left
}
}
</script>
<style lang="scss">
.navbar {
.navbar-fixed {
position: fixed;
top: 0;
left: 0;
z-index: 99;
width: 100%;
background: $mk-base-color;
.navbar-content {
height: 45px;
padding: 0 10px;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
.navbar-search {
background: #fff;
display: flex;
align-items: center;
padding: 0 10px;
height: 30px;
border-radius: 30px;
width: 100%;
box-sizing: border-box;
}
}
}
}
</style>