123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <template>
- <el-row :gutter="12" class="demo-radius">
- <el-col v-for="(radius, i) in radiusGroup" :key="i" :span="6" :xs="{ span: 12 }">
- <div class="title">{{ radius.name }}</div>
- <div class="value">
- <code>border-radius: {{ getValue(radius.type) || '0px' }}</code>
- </div>
- <div
- class="radius"
- :style="{
- borderRadius: radius.type ? `var(--el-border-radius-${radius.type})` : '',
- }"
- />
- </el-col>
- </el-row>
- </template>
- <script lang="ts" setup>
- import { ref } from 'vue'
- const radiusGroup = ref([
- {
- name: 'No Radius',
- type: '',
- },
- {
- name: 'Small Radius',
- type: 'small',
- },
- {
- name: 'Large Radius',
- type: 'base',
- },
- {
- name: 'Round Radius',
- type: 'round',
- },
- ])
- const getValue = (type: string) => {
- const getCssVarValue = (prefix, type) => getComputedStyle(document.documentElement).getPropertyValue(`--el-${prefix}-${type}`)
- return getCssVarValue('border-radius', type)
- }
- </script>
- <style scoped>
- .demo-radius .title {
- color: var(--el-text-color-regular);
- font-size: 18px;
- margin: 10px 0;
- }
- .demo-radius .value {
- color: var(--el-text-color-primary);
- font-size: 16px;
- margin: 10px 0;
- }
- .demo-radius .radius {
- height: 40px;
- width: 70%;
- border: 1px solid var(--el-border-color);
- border-radius: 0;
- margin-top: 20px;
- }
- </style>
|