vue 封装公共样式

// 传颜色的值,文字标题; 展示效果边框+阴影; 不传则默认样式红色

// #######引用文件
<template>
<div>
  <CompStycls title="测试图表点击事件" bgcolor="green"></CompStycls>
<CompStycls title="测试图表点击事件2" bgcolor="yellow"></CompStycls>
<CompStycls title="测试图表点击事件3" ></CompStycls>
</div>
</template>
<script lang="ts" setup>
 import CompStycls from './stycls.vue';
</script>

// #######封装样式组件
<template>
<!-- 自定义公共样式-->
<div class="spel_cont mt-5 pl-2 pr-2 pb-3" :style="{borderColor: bgcolor, boxShadow: '0 0 4px ' + bgcolor}">
<div class="text-xl divTitle">{{title}}</div>
<slot></slot>
</div>
</template>
<script setup lang="ts">
interface Props {
title: string;
bgcolor: string;
}
defineOptions({
name: 'CompStycls',
});
withDefaults( defineProps<Props>(), {});
</script>
<style lang="scss" scoped>
.spel_cont{
border: 1px solid red;
box-shadow: 0 0 14px red;
border-radius: 8px;
color: #ddd;
.divTitle{
font-weight: bold;
padding: 20px;
}
}
</style>

posted on 2024-11-04 17:36  每天暴走三公里  阅读(32)  评论(0)    收藏  举报

导航