Skip to content
  • No data uploaded
  • Instant results

Tailwind CSS Testimonial Slider for Vue 3 — Glassmorphism

A production-ready glassmorphism testimonial slider: a customer testimonial carousel that shows one quote at a time with labelled slide buttons — no autoplay, so users stay in control. Pick your brand color, toggle dark mode and corner radius — the live preview and the Vue 3 code update instantly in your browser.

Live component editor

Library
Framework
Style
Theme
Corner radius
Live preview
<script setup>
import { ref } from 'vue';

const slide = ref("1");
</script>

<template>
  <section class="px-6 py-16" aria-roledescription="carousel" aria-label="Customer testimonials">
    <div class="max-w-2xl mx-auto text-center">
      <span class="inline-flex items-center px-2.5 py-0.5 text-xs font-semibold rounded-full bg-[#4f46e5]/10 text-[#4f46e5]">Loved by teams</span>
      <div class="mt-6 p-8 bg-white/60 backdrop-blur-xl border border-white/60 shadow-2xl rounded-xl">
        <figure v-show="slide === '1'">
          <blockquote class="text-xl font-medium leading-relaxed text-slate-900">“We shipped our new checkout in a single afternoon. Conversion went up 18% the same week.”</blockquote>
          <figcaption class="mt-6 text-sm text-slate-500"><strong>Priya Sharma</strong> · Head of Growth, Kartly</figcaption>
        </figure>
        <figure v-show="slide === '2'">
          <blockquote class="text-xl font-medium leading-relaxed text-slate-900">“The components are clean, accessible and they just work with our design tokens.”</blockquote>
          <figcaption class="mt-6 text-sm text-slate-500"><strong>Daniel Okafor</strong> · Staff Engineer, Lumen</figcaption>
        </figure>
        <figure v-show="slide === '3'">
          <blockquote class="text-xl font-medium leading-relaxed text-slate-900">“Dark mode and theming out of the box saved us weeks of design back-and-forth.”</blockquote>
          <figcaption class="mt-6 text-sm text-slate-500"><strong>Mia Fischer</strong> · Product Designer, Northwind</figcaption>
        </figure>
      </div>
      <div class="mt-6 flex justify-center gap-2" role="group" aria-label="Choose testimonial">
        <button type="button" class="inline-flex items-center justify-center px-3 py-2 text-sm font-semibold rounded-lg border transition-colors border-white/80 bg-white/40 text-slate-700 hover:bg-white/70 aria-pressed:border-[#4f46e5] aria-pressed:text-[#4f46e5] aria-pressed:ring-1 aria-pressed:ring-[#4f46e5]" aria-label="Show testimonial 1" @click="slide = '1'" :aria-pressed="slide === '1'">1</button>
        <button type="button" class="inline-flex items-center justify-center px-3 py-2 text-sm font-semibold rounded-lg border transition-colors border-white/80 bg-white/40 text-slate-700 hover:bg-white/70 aria-pressed:border-[#4f46e5] aria-pressed:text-[#4f46e5] aria-pressed:ring-1 aria-pressed:ring-[#4f46e5]" aria-label="Show testimonial 2" @click="slide = '2'" :aria-pressed="slide === '2'">2</button>
        <button type="button" class="inline-flex items-center justify-center px-3 py-2 text-sm font-semibold rounded-lg border transition-colors border-white/80 bg-white/40 text-slate-700 hover:bg-white/70 aria-pressed:border-[#4f46e5] aria-pressed:text-[#4f46e5] aria-pressed:ring-1 aria-pressed:ring-[#4f46e5]" aria-label="Show testimonial 3" @click="slide = '3'" :aria-pressed="slide === '3'">3</button>
      </div>
    </div>
  </section>
</template>
All components →

Free Tailwind CSS Testimonial Slider for Vue 3 — Glassmorphism by pGento

Install Tailwind CSS for Vue 3

Create a Vue 3 project with Vite, then add Tailwind CSS v3:

npm create vite@latest my-app -- --template vue
cd my-app
npm install
npm install -D tailwindcss@3 postcss autoprefixer
npx tailwindcss init -p

Set content: ['./index.html', './src/**/*.{vue,js}'] in tailwind.config.js, and add to src/style.css:

@tailwind base;
@tailwind components;
@tailwind utilities;

The brand color is applied with arbitrary values such as bg-[#4f46e5], so no theme configuration is needed.

Use the testimonial slider in Vue 3

<!-- App.vue -->
<script setup>
import TestimonialSlider from './TestimonialSlider.vue';
</script>

<template>
  <TestimonialSlider />
</template>

Accessibility & customization

There is no auto-rotation (WCAG 2.2.2), each slide button has an aria-label and aria-pressed state, and quotes are marked up with <blockquote> and <figcaption>.

Every color, radius and dark-mode choice is baked into plain utility classes, so the copied code has no runtime dependency on this site. The glass style relies on backdrop-filter, supported in all current browsers; place it over a colorful background for the best effect.

Compatibility

ItemDetails
CSS frameworkTailwind CSS v3.4+
LibraryVue 3 (<script setup>)
Interactive stateslide
Dark modeYes — toggle in the editor
StyleGlassmorphism (backdrop blur)

Frequently asked questions

How do I install this Tailwind testimonial slider in Vue 3?
Create a Vue 3 project, install Tailwind CSS as shown in the installation section, then paste the generated code.
Can I change the color of the testimonial slider?
Yes. Use the brand color picker or type any hex code — the preview and code update instantly, and the color is written directly into the classes you copy.
Does the testimonial slider support dark mode?
Yes. Toggle “Dark mode” in the editor to generate a dark palette version of the same component.
Is the testimonial slider accessible?
There is no auto-rotation (WCAG 2.2.2), each slide button has an aria-label and aria-pressed state, and quotes are marked up with <blockquote> and <figcaption>.
Is this component free for commercial use?
Yes. The generated code is yours to use in personal and commercial projects without attribution.
Tailwind CSS Testimonial Slider for Vue 3 — Glassmorphism

Embed this tool on your site

Paste this code into any web page. It stays free, fast and ad-free inside your site.

Print or save as PDF

Prints just this tool and its result. Choose “Save as PDF” as the printer to get a file. Branding is stored only in this browser.