Step 1: Include Both Frameworks
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Tailwind CSS -->
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@3.4.1/dist/tailwind.min.css" rel="stylesheet">
Step 2: Handle CSS Conflicts
Add this CSS to prevent Bootstrap from overriding Tailwind animations:
<style>
/* Ensure Tailwind animations work with Bootstrap */
.animate-bounce { animation: bounce 1s infinite !important; }
.animate-pulse { animation: pulse 2s infinite !important; }
.animate-spin { animation: spin 1s linear infinite !important; }
.animate-ping { animation: ping 1s infinite !important; }
/* Transition overrides */
.transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important; }
.duration-300 { transition-duration: 300ms !important; }
.ease-in-out { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; }
/* Add keyframes */
@keyframes bounce {
0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8,0,1,1); }
50% { transform: none; animation-timing-function: cubic-bezier(0,0,0.2,1); }
}
/* Add other keyframes as needed... */
</style>
Step 3: Mix Bootstrap Layout with Tailwind Animations
<div class="card shadow-sm">
<div class="card-body">
<button class="btn btn-primary bg-blue-500 hover:bg-blue-600 transition-colors duration-300 animate-pulse">
Animated Bootstrap Button
</button>
</div>
</div>
⚠️ Note: Use !important
declarations to ensure Tailwind animations override Bootstrap styles