| 123456789101112131415161718192021222324252627282930313233 |
- <template>
- <section class="img--section--full" :data-type="type">
- <div>
- <picture>
- <source media="(max-width: 768px)" :srcset="`${imagePath}?width=768`" />
- <source media="(max-width: 1024px)" :srcset="`${imagePath}?width=1024`" />
- <source media="(max-width: 1440px)" :srcset="`${imagePath}?width=1440`" />
- <source media="(min-width: 1440px)" :srcset="`${imagePath}?width=1920`" />
- <img data-object-fit="true" :src="imagePath" :alt="altText" loading="lazy" />
- </picture>
- <div class="alt--text">{{ altText }}</div>
- </div>
- </section>
- </template>
- <script setup>
- // Props 정의
- const props = defineProps({
- imagePath: {
- type: String,
- default: "/img/exclusive/1920X1080_exclusive_edited_v2.jpg",
- },
- altText: {
- type: String,
- default: "Banner Image",
- },
- type: {
- type: String,
- default: "contain", // 'horz' , 'vert'
- validator: (value) => ["contain", "cover"].includes(value),
- },
- });
- </script>
|