feat: 圆角

This commit is contained in:
aoshisen 2026-01-29 22:35:14 +08:00
parent 43a8ce7936
commit 7eb59e5f29
2 changed files with 24 additions and 3 deletions

View File

@ -1,8 +1,12 @@
<script setup lang="ts"> <script setup lang="ts">
import { useEditorStore } from '@/stores/editor'; import { useEditorStore } from '@/stores/editor';
import { useHoverTiltStore } from '@/stores/hoverTilt'; import { useHoverTiltStore } from '@/stores/hoverTilt';
import { computed } from 'vue';
const store = useEditorStore(); const store = useEditorStore();
const tilt_store = useHoverTiltStore(); const tilt_store = useHoverTiltStore();
const borderRadiusStyle = computed(() => ({
'--border-radius': store.formData['border-radius'] + 'px'
}));
</script> </script>
<style scoped> <style scoped>
@ -12,7 +16,23 @@ img {
} }
</style> </style>
<template> <template>
<hover-tilt v-bind="tilt_store.tiltProps"> <!-- 利用这个元素承载 style 穿透到hover-tilt -->
<img src="https://images.pokemontcg.io/swsh4/25_hires.png" :style="store.imageStyle" /> <div class="container" :style="borderRadiusStyle">
</hover-tilt> <hover-tilt v-bind="tilt_store.tiltProps" class="hover-tilt">
<img src="https://images.pokemontcg.io/swsh4/25_hires.png" :style="store.imageStyle" />
</hover-tilt>
</div>
</template> </template>
<style lang="scss" scoped>
.container {
.hover-tilt {
&::part(tilt) {
&::before {
border-radius: var(--border-radius, 0px);
overflow: hidden;
}
}
}
}
</style>

View File

@ -4,6 +4,7 @@ import { EditorFolder } from '@/const/editor'
// 定义哪些属性需要添加 px 单位 // 定义哪些属性需要添加 px 单位
const PX_PROPERTIES = ['width', 'border-radius'] const PX_PROPERTIES = ['width', 'border-radius']
const TILT_PROPERTIES = ["border-radius"]
export const useEditorStore = defineStore('editor', () => { export const useEditorStore = defineStore('editor', () => {
// 存储表单数据 // 存储表单数据