В Tailwind плюс есть много блоков пользовательского интерфейса, которые нуждаются в JavaScript, чтобы быть полезными, например, диалоги, выпадающие списки, командные палитры и многое другое. И если вы не являетесь пользователем React или Vue, использование этих блоков пользовательского интерфейса всегда означало написание всего этого сложного JavaScript самостоятельно.
Что ж, сегодня это наконец меняется – Каждый блок пользовательского интерфейса в Tailwind Plus теперь полностью функционален, доступен и интерактивенвключая простые примеры HTML.
Теперь вы можете использовать любой падатьВ Командная палитраВ диалогВ ящики многое другое в любом проекте, над которым вы работаете – не требуется фреймворк JavaScript.
Чтобы сделать это, мы построили @tailwindplus/elements – Библиотека, которую мы выпускаем исключительно для Tailwind Plus клиенты.
Элементы – это коллекция без головы Пользовательские элементы Это завершает все сложное поведение, необходимое для создания пользовательских интерактивных интерфейсов, используя только HTML, и может быть стилизовано любым способом, который вам нравится, используя утилиты или пользовательские CSS.
Вместо того, чтобы быть связанным с конкретной структурой JavaScript, эти пользовательские элементы работают везде, где вы можете использовать ярлык:
index.html
<script src="https://cdn.jsdelivr.net/npm/@tailwindplus/elements@1" type="module">script>
Вот как это выглядит, чтобы построить Пользовательский выпаданий Меню с элементами:
<el-dropdown class="relative inline-block text-left"> <button class="inline-flex w-full justify-center gap-x-1.5 rounded-md bg-white px-3 py-2 text-sm font-semibold text-gray-900 shadow-xs ring-1 ring-gray-300 ring-inset hover:bg-gray-50"> Options <svg viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="-mr-1 size-5 text-gray-400"> <path d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" fill-rule="evenodd" /> svg> button> <el-menu anchor="bottom end" popover class="w-56 origin-top-right rounded-md bg-white shadow-lg ring-1 ring-black/5 transition transition-discrete [--anchor-gap:--spacing(2)] focus:outline-hidden data-closed:scale-95 data-closed:transform data-closed:opacity-0 data-enter:duration-100 data-enter:ease-out data-leave:duration-75 data-leave:ease-in"> <div class="py-1"> <a href="#" class="block px-4 py-2 text-sm text-gray-700 focus:bg-gray-100 focus:text-gray-900 focus:outline-hidden">Account settingsa> <a href="#" class="block px-4 py-2 text-sm text-gray-700 focus:bg-gray-100 focus:text-gray-900 focus:outline-hidden">Supporta> <a href="#" class="block px-4 py-2 text-sm text-gray-700 focus:bg-gray-100 focus:text-gray-900 focus:outline-hidden">Licensea> <form action="#" method="POST"> <button type="submit" class="block w-full px-4 py-2 text-left text-sm text-gray-700 focus:bg-gray-100 focus:text-gray-900 focus:outline-hidden">Sign outbutton> form> div> el-menu>el-dropdown>
