|
|
|
@ -22,7 +22,7 @@
@@ -22,7 +22,7 @@
|
|
|
|
|
:fetchpriority="idx === 0 ? 'high' : 'low'" |
|
|
|
|
/> |
|
|
|
|
<div |
|
|
|
|
class="w-[1440px] md:w-[870px] sm:w-[300px] sm:top-19 absolute inset-0 mx-auto flex overflow-hidden items-center sm:items-start" |
|
|
|
|
class="w-[1440px] md:w-[870px] sm:w-[258px] sm:top-19 absolute inset-0 mx-auto flex overflow-hidden items-center sm:items-start" |
|
|
|
|
> |
|
|
|
|
<div class="swiper-banner-info"> |
|
|
|
|
<h6 class="text-2xl md:text-lg lg:text-xl sm:text-xs font-bold"> |
|
|
|
@ -59,54 +59,11 @@
@@ -59,54 +59,11 @@
|
|
|
|
|
v-for="(_, index) in slides" |
|
|
|
|
:key="index" |
|
|
|
|
:class="{ 'active-slide': emblaState.selectedIndex == index }" |
|
|
|
|
class="w-12 h-2 md:w-9 md:h-[6px] sm:w-6 sm:h-1 bg-[#818897] opacity-30" |
|
|
|
|
class="w-12 h-2 md:w-9 md:h-[6px] sm:w-3 sm:h-1 bg-[#818897] opacity-30" |
|
|
|
|
@click="scrollTo(index)" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<!-- <ClientOnly> |
|
|
|
|
<swiper-container |
|
|
|
|
ref="containerRef" |
|
|
|
|
class="size-full mx-auto" |
|
|
|
|
loop |
|
|
|
|
:pagination="{ clickable: true }" |
|
|
|
|
> |
|
|
|
|
<swiper-slide v-for="(slide, idx) in slides" :key="idx" class="size-full relative"> |
|
|
|
|
<div class="size-full relative flex overflow-hidden items-center sm:items-start"> |
|
|
|
|
<picture class="absolute w-full h-full left-0 top-0 -z-10"> |
|
|
|
|
<source media="(max-width: 480px)" :srcset="slide.bgSm" /> |
|
|
|
|
<source media="(max-width: 1280px)" :srcset="slide.bgLg" /> |
|
|
|
|
<img :src="slide.bgLg" class="size-full object-cover" /> |
|
|
|
|
</picture> |
|
|
|
|
<div class="w-[1440px] md:w-[870px] sm:w-[300px] sm:top-19 relative mx-auto"> |
|
|
|
|
<div class="swiper-banner-info"> |
|
|
|
|
<h6 class="text-2xl md:text-lg lg:text-xl sm:text-xs font-bold"> |
|
|
|
|
{{ slide.title }} |
|
|
|
|
</h6> |
|
|
|
|
<h2 |
|
|
|
|
class="text-4xl lg:text-3xl md:text-2xl sm:text-base overflow-hidden font-bold text-ellipsis whitespace-pre-line break-words" |
|
|
|
|
> |
|
|
|
|
{{ slide.subtitle }} |
|
|
|
|
</h2> |
|
|
|
|
<div v-if="slide.tags" class="flex text-lg lg:text-base md:text-base sm:text-sm"> |
|
|
|
|
<p |
|
|
|
|
v-for="(tag, index) in slide.tags" |
|
|
|
|
:key="index" |
|
|
|
|
:class="tag.clx" |
|
|
|
|
class="bg-cover bg-no-repeat bg-center bg-size-full flex items-center justify-center" |
|
|
|
|
:style="{ |
|
|
|
|
backgroundImage: `url(${tag.bg})`, |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
{{ tag.name }} |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</swiper-slide> |
|
|
|
|
</swiper-container> |
|
|
|
|
</ClientOnly> --> |
|
|
|
|
</div> |
|
|
|
|
<Serve /> |
|
|
|
|
<Device /> |
|
|
|
@ -216,14 +173,4 @@ onMounted(() => {
@@ -216,14 +173,4 @@ onMounted(() => {
|
|
|
|
|
.active-slide { |
|
|
|
|
opacity: 1; |
|
|
|
|
} |
|
|
|
|
/* Swiper分页器样式 */ |
|
|
|
|
:root { |
|
|
|
|
--swiper-pagination-color: #818897; |
|
|
|
|
--swiper-pagination-bullet-width: 48px; |
|
|
|
|
--swiper-pagination-bullet-height: 8px; |
|
|
|
|
--swiper-pagination-bullet-border-radius: 0; |
|
|
|
|
--swiper-pagination-bullet-inactive-color: #818897; |
|
|
|
|
--swiper-pagination-bullet-inactive-opacity: 0.3; |
|
|
|
|
--swiper-pagination-bullet-horizontal-gap: 8px; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|