<script setup name="Card">
|
import { ref } from "vue";
|
const props = defineProps({
|
title: {
|
type: String,
|
default: ''
|
}
|
});
|
|
</script>
|
|
<template>
|
<div class="card pos-r">
|
<div class="title ys-title" v-if="title">{{ title }}</div>
|
<div class="tools">
|
<slot name="tools"></slot>
|
</div>
|
<div class="content pos-r">
|
<div class="pos-full">
|
<slot></slot>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<style scoped lang="less">
|
.card {
|
height: 100%;
|
padding: 6px;
|
display: flex;
|
flex-direction: column;
|
|
background: linear-gradient(#62cee3, #62cee3) left top e('/') 16px 1px no-repeat,
|
linear-gradient(#62cee3, #62cee3) left top e('/') 1px 16px no-repeat,
|
linear-gradient(#62cee3, #62cee3) right top e('/') 16px 1px no-repeat,
|
linear-gradient(#62cee3, #62cee3) right top e('/') 1px 16px no-repeat,
|
linear-gradient(#62cee3, #62cee3) left bottom e('/') 16px 1px no-repeat,
|
linear-gradient(#62cee3, #62cee3) left bottom e('/') 1px 16px no-repeat,
|
linear-gradient(#62cee3, #62cee3) right bottom e('/') 16px 1px no-repeat,
|
linear-gradient(#62cee3, #62cee3) right bottom e('/') 1px 16px no-repeat,
|
|
radial-gradient(farthest-side at center center, transparent, transparent 50%, rgba(25,59,99, 0.3) 100%, #193B63 180%, #193B63) left top e('/') contain no-repeat
|
;
|
|
.title {
|
padding-left: 1.4em;
|
font-size: 24px;
|
background: url("@/assets/images/tb1.png") 6px center e('/') auto 82% no-repeat;
|
}
|
.tools {
|
position: absolute;
|
top: 6px;
|
right: 6px;
|
display: flex;
|
align-items: center;
|
}
|
.content {
|
flex: 1;
|
}
|
}
|
</style>
|