Composant de menu déroulant
Un menu déroulant réactif de style 3D pour les tableaux de bord, avec une palette de couleurs triadique et la prise en charge du mode sombre.
HTML Code
<div class="relative inline-block text-left">
<div>
<button type="button" class="inline-flex justify-center w-full rounded-md px-4 py-2 bg-gradient-to-br from-blue-500 via-purple-500 to-pink-500 text-white text-sm font-medium shadow-lg hover:from-blue-600 hover:via-purple-600 hover:to-pink-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 transform transition-transform duration-200 active:scale-95 dark:from-gray-700 dark:via-gray-800 dark:to-gray-900 dark:hover:from-gray-600 dark:hover:via-gray-700 dark:hover:to-gray-800" id="options-menu" aria-haspopup="true" aria-expanded="true">
Options
<svg class="-mr-1 ml-2 h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
</svg>
</button>
</div>
<!-- Dropdown panel, show/hide based on dropdown state. -->
<div class="origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 divide-y divide-gray-100 opacity-0 scale-95 transition-all duration-200 ease-out dark:bg-gray-800 dark:ring-gray-700 dark:divide-gray-700"
role="menu" aria-orientation="vertical" aria-labelledby="options-menu">
<div class="py-1">
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gradient-to-r from-blue-400 via-purple-400 to-pink-400 hover:text-white dark:text-gray-200 dark:hover:bg-gray-700" role="menuitem">Account settings</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gradient-to-r from-blue-400 via-purple-400 to-pink-400 hover:text-white dark:text-gray-200 dark:hover:bg-gray-700" role="menuitem">Support</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gradient-to-r from-blue-400 via-purple-400 to-pink-400 hover:text-white dark:text-gray-200 dark:hover:bg-gray-700" role="menuitem">License</a>
</div>
<div class="py-1">
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gradient-to-r from-blue-400 via-purple-400 to-pink-400 hover:text-white dark:text-gray-200 dark:hover:bg-gray-700" role="menuitem">Sign out</a>
</div>
</div>
</div>
<script>
// This is a placeholder for JavaScript. In a real application, you would toggle the dropdown visibility with JS.
// For this example, we'll simulate a "hover" effect with Tailwind classes that are normally toggled by JS.
const dropdownButton = document.getElementById('options-menu');
const dropdownPanel = dropdownButton.nextElementSibling;
dropdownButton.addEventListener('mouseover', () => {
dropdownPanel.classList.remove('opacity-0', 'scale-95');
dropdownPanel.classList.add('opacity-100', 'scale-100');
});
dropdownButton.addEventListener('mouseout', () => {
dropdownPanel.classList.remove('opacity-100', 'scale-100');
dropdownPanel.classList.add('opacity-0', 'scale-95');
});
dropdownPanel.addEventListener('mouseover', () => {
dropdownPanel.classList.remove('opacity-0', 'scale-95');
dropdownPanel.classList.add('opacity-100', 'scale-100');
});
dropdownPanel.addEventListener('mouseout', () => {
dropdownPanel.classList.remove('opacity-100', 'scale-100');
dropdownPanel.classList.add('opacity-0', 'scale-95');
});
</script>
Composants associés
Composant de menu déroulant 3D
Un composant de menu déroulant réactif avec une palette de couleurs vives, conçu pour la présentation de portfolio. Il présente un design 3D avec des éléments interactifs, adapté au mode sombre.
Composant de menu déroulant
Un composant de menu déroulant réactif conçu avec des micro-interactions et la prise en charge du thème sombre à l’aide de Tailwind CSS.
Menu déroulant Rétro/Vintage
Un composant complexe de menu déroulant conçu pour le commerce électronique avec une esthétique rétro/vintage, avec des couleurs monochromes, une interface riche et un design réactif incluant la prise en charge du mode sombre.