tailwindcss dropdown
v1.0.0
Tailwind CSS を使用して、アクセス可能な JavaScript フリーのドロップダウンを作成するプラグイン。これはコンポーネントではありません (ただし、以下の例を青写真として使用できます)。
? CodeSandbox でライブをご覧ください
npm install tailwindcss-dropdown
tailwind.config.js
で、次のようにdisplay
バリアントにdropdown
を追加し、プラグインを要求します。
module . exports = {
theme : { } ,
variants : {
display : [ 'responsive' , 'dropdown' ]
} ,
plugins : [ require ( 'tailwindcss-dropdown' ) ] ,
}
このプラグインは、 display
ユーティリティのバリアントとしてdropdown
を追加します。翻訳: dropdown:block
を使用して、子ul
のdisplay
をblock
(またはここにリストされている他のプロパティ) に変更できます。
それは HTML の構造に大きく依存します。例えば:
< ul class =" flex space-x-6 " role =" navigation " >
< li > < a href = # > Home </ a > </ li >
< li > < a href = # > Support </ a > </ li >
<!-- 1) dropdown:block -->
< li class =" relative dropdown:block " aria-haspopup =" true " >
< a href = # > Products </ a >
<!-- 2) will transform this ul in a block when focused -->
< ul class =" hidden absolute right-0 w-auto " aria-label =" submenu " >
< li > < a href = # > macOS </ a > </ li >
< li > < a href = # > Windows </ a > </ li >
</ ul >
</ li >
</ ul >
dropdown:block
子としてul
含まれている必要があることに注意してください。 button
でも同じことができます。
<!-- 1) dropdown:block -->
< button class =" relative dropdown:block " role =" navigation " aria-haspopup =" true " >
Products
<!-- 2) will transform this ul in a block when focused -->
< ul class =" absolute right-0 hidden w-auto " aria-label =" submenu " >
< li > < a href =" # " > macOS </ a > </ li >
< li > < a href =" # " > Windows </ a > </ li >
</ ul >
</ button >
CodeSandbox のその他の例
dropdown:block
(および、 dropdown:grid
などの他のすべての表示値) のコードは次のようになります。
. dropdown : block : focus-within > ul {
display : block;
}
したがって、クラスdropdown:block
の要素にフォーカスがある場合、その中のul
block
に変わります。