69 lines
1.1 KiB
Vue
69 lines
1.1 KiB
Vue
<template>
|
|
<div class="mask" :class="bg ? bg : ''">
|
|
<slot></slot>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: "OutMask",
|
|
props: {
|
|
bg: {
|
|
type: String,
|
|
default: "",
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.mask {
|
|
width: 1920px;
|
|
height: 100%;
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
background: url("@/assets/mask/mask.png");
|
|
background-size: cover;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
z-index: 23;
|
|
&.bg {
|
|
width: 100%;
|
|
height: 100%;
|
|
// position: relative;
|
|
&::after {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
content: "";
|
|
background: url("@/assets/mask/mobile_nav.jpg");
|
|
background-size: cover;
|
|
background-position: center;
|
|
opacity: 0.55;
|
|
background-repeat: no-repeat;
|
|
z-index: 1;
|
|
}
|
|
}
|
|
&.loading {
|
|
width: 100%;
|
|
height: 100%;
|
|
background-image: linear-gradient(#8762ab, #ad93c5);
|
|
}
|
|
}
|
|
|
|
.focus {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
}
|
|
|
|
.blur {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
}
|
|
</style>
|