<template>
<view style="flex-grow: 1;">
<view style="position:absolute;z-index:0;">
<view class="common fixed default">
<text>position: fixed</text>
<text>z-index: 10</text>
</view>
<view class="common fixed specified">
<text>position: fixed</text>
<text>z-index: 5</text>
</view>
<view class="common fixed floor">
<text>position: fixed</text>
<text>z-index: -1</text>
</view>
</view>
<view style="top: 250px;">
<view class="common" style="background-color: red;z-index: 10;">
<text>z-index: 10</text>
</view>
<view ref="view" class="common" style="background-color: green;z-index: 5;top: -37px;left: 87px;"
@click="changeZIndex(20)">
<text>z-index: {{zIndex}}</text>
<text>点击修改z-index</text>
</view>
<view class="common" style="background-color: blue;top: -75px;left: 175px;">
<text>z-index: 0</text>
</view>
</view>
<view>
<view>
<view class="common fixed popup" style="background-color: aqua;z-index: 5;">
<text>position: fixed</text>
<text>z-index: 5</text>
</view>
</view>
</view>
</view>
<view v-if="autoTest">
<view style="z-index: 1;position: fixed;">111</view>
<view style="width: 750rpx;">222</view>
</view>
</template>
<script>
export default {
data () {
return {
zIndex: 5,
// 自动化测试
autoTest: false
}
},
methods: {
changeZIndex (zIndex: number) {
this.zIndex = 20;
(this.$refs['view'] as UniElement).style.setProperty('z-index', zIndex);
}
}
}
</script>
<style>
.common {
width: 125px;
height: 125px;
justify-content: center;
align-items: center;
}
.fixed {
position: fixed;
}
.default {
background-color: red;
z-index: 10;
top: var(--uni-safe-area-inset-top);
left: var(--uni-safe-area-inset-left);
}
.specified {
background-color: green;
z-index: 5;
/* #ifdef APP || MP */
top: 87px;
left: 87px;
/* #endif */
/* #ifdef WEB */
top: calc(var(--uni-safe-area-inset-top) + 87px);
left: calc(var(--uni-safe-area-inset-left) + 87px);
/* #endif */
}
.floor {
background-color: chocolate;
/* #ifdef APP || MP */
top: 250px;
left: 175px;
/* #endif */
/* #ifdef WEB */
top: calc(var(--uni-safe-area-inset-top) + 250px);
left: calc(var(--uni-safe-area-inset-left) + 175px);
/* #endif */
z-index: -1;
}
.popup {
/* #ifdef APP || MP */
top: 320px;
left: 87px;
/* #endif */
/* #ifdef WEB */
top: calc(var(--uni-safe-area-inset-top) + 320px);
left: calc(var(--uni-safe-area-inset-left) + 87px);
/* #endif */
height: 40px;
}
</style>