メインコンテンツへスキップ

ドキュメント

ナビバー

メインサイトのナビゲーション用に、ドロップダウンメニュー付きのナビゲーションバーを作成します。

Navbarコンポーネントは、すべてのドロップダウンを同じオプションで初期化するため、個別に初期化する必要はありません。ナビバー内のすべてのドロップダウンは、マウスの動きを認識します。つまり、マウスカーソルがドロップダウンに向かって移動している限り、ドロップダウンは開いたままになります。追加の遅延により、マウスカーソルが一時的に別の方向に移動した場合でも、ドロップダウンが開いたままになります。ホバーモードでは、別のメニュー項目にホバーすると、ドロップダウンはすぐに閉じます。

使い方

Navbarコンポーネントは、ナビバーコンテナ、ナビバー自体、および1つ以上のナビゲーションで構成されています。

要素 説明
uk-navbar この属性を <nav> 要素に追加して、Navbarコンポーネントを定義します。
.uk-navbar-container このクラスを同じ<nav>要素または親要素に追加して、ナビバーの背景スタイルを追加します。
.uk-navbar-left
.uk-navbar-center
.uk-navbar-right
これらのクラスのいずれかを <div> 要素に追加して、ナビゲーションを整列させます。
.uk-navbar-nav このクラスを <ul> 要素に追加して、ナビゲーションを作成します。リスト内のメニュー項目として <a> 要素を使用します。
.uk-parent このクラスを追加して、親メニュー項目を示します。
.uk-active このクラスを追加して、アクティブなメニュー項目を示します。
<nav class="uk-navbar-container" uk-navbar>
    <div class="uk-navbar-left">
        <ul class="uk-navbar-nav">
            <li class="uk-active"><a href=""></a></li>
            <li class="uk-parent"><a href=""></a></li>
            <li><a href=""></a></li>
        </ul>
    </div>
</nav>
  • <nav class="uk-navbar-container" uk-navbar>
        <div class="uk-navbar-left">
    
            <ul class="uk-navbar-nav">
                <li class="uk-active"><a href="#">Active</a></li>
                <li>
                    <a href="#">Parent</a>
                    <div class="uk-navbar-dropdown">
                        <ul class="uk-nav uk-navbar-dropdown-nav">
                            <li class="uk-active"><a href="#">Active</a></li>
                            <li><a href="#">Item</a></li>
                            <li><a href="#">Item</a></li>
                        </ul>
                    </div>
                </li>
                <li><a href="#">Item</a></li>
            </ul>
    
        </div>
    </nav>

ナビバーもナビバーコンテナも水平方向のパディングはありません。ページの他の部分と同じ水平パディングを設定するには、コンテナコンポーネントを使用します。

<nav class="uk-navbar-container">
    <div class="uk-container">
        <div uk-navbar>…</div>
    </div>
</nav>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active"><a href="#">Active</a></li>
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li><a href="#">Item</a></li>
                    </ul>
    
                </div>
    
            </div>
        </div>
    </nav>

複数のナビゲーション

ナビバーコンテナ内に複数のナビゲーションを配置できます。これにより、同じナビバー内に左揃え、中央揃え、右揃えのナビゲーションを含めることができます。

<nav class="uk-navbar-container" uk-navbar>
    <div class="uk-navbar-left">…</div>
    <div class="uk-navbar-center">…</div>
    <div class="uk-navbar-right">…</div>
</nav>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active"><a href="#">Active</a></li>
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li><a href="#">Item</a></li>
                    </ul>
    
                </div>
    
                <div class="uk-navbar-right">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active"><a href="#">Active</a></li>
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li><a href="#">Item</a></li>
                    </ul>
    
                </div>
    
            </div>
        </div>
    </nav>

透明モディファイア

Webサイトのヒーローセクションに画像や色付きの背景を使用する場合は、ナビバーを透明にしたい場合があります。.uk-navbar-containerクラスと同じ要素に.uk-navbar-transparentクラスを追加するだけです。必要に応じて、反転コンポーネント.uk-lightまたは.uk-darkクラスを追加して、ナビバーの色を調整します。

<nav class="uk-navbar-container uk-navbar-transparent" uk-navbar></nav>
  • <div class="uk-position-relative">
        <img src="images/light.jpg" width="1800" height="1200" alt="">
        <div class="uk-position-top">
            <nav class="uk-navbar-container uk-navbar-transparent">
                <div class="uk-container">
                    <div uk-navbar>
    
                        <div class="uk-navbar-left">
                            <ul class="uk-navbar-nav">
                                <li class="uk-active"><a href="#">Active</a></li>
                                <li><a href="#">Item</a></li>
                                <li>
                                    <a href="#">Parent</a>
                                    <div class="uk-navbar-dropdown">
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                </li>
                            </ul>
                        </div>
    
                    </div>
                </div>
            </nav>
        </div>
    </div>

サブタイトル

サブタイトルを定義するには、項目の<a>要素内に<div>要素を作成します。別の<div>要素に.uk-navbar-subtitleクラスを追加します。

<li>
    <a href="">
        <div><div class="uk-navbar-subtitle"></div>
        </div>
    </a>
</li>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
                    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active">
                            <a href="#">
                                <div>
                                    Active
                                    <div class="uk-navbar-subtitle">Subtitle</div>
                                </div>
                            </a>
                        </li>
                        <li>
                            <a href="#">
                                <div>
                                    Parent
                                    <div class="uk-navbar-subtitle">Subtitle</div>
                                </div>
                            </a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li>
                            <a href="#">
                                <div>
                                    Item
                                    <div class="uk-navbar-subtitle">Subtitle</div>
                                </div>
                            </a>
                        </li>
                    </ul>
    
                </div>
    
            </div>
        </div>
    </nav>

コンテンツ項目

テキスト、アイコン、ボタン、フォームなどのカスタムコンテンツをナビバーに追加することもできます。コンテンツのコンテナとして機能する<div>要素に.uk-navbar-itemクラスを追加します。

<nav class="uk-navbar-container" uk-navbar>
    <div class="uk-navbar-left">
        <a href="" class="uk-navbar-item uk-logo"></a>
        <ul class="uk-navbar-nav"></ul>
        <div class="uk-navbar-item"></div>
    </div>
</nav>

ユーティリティコンポーネント.uk-logoクラスを、ブランドを示す <a> または <div> 要素に追加します。

  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
    
                    <a class="uk-navbar-item uk-logo" href="#" aria-label="Back to Home">Logo</a>
    
                    <ul class="uk-navbar-nav">
                        <li>
                            <a href="#">
                                <span class="uk-icon uk-margin-small-right" uk-icon="icon: star"></span>
                                Features
                            </a>
                        </li>
                    </ul>
    
                    <div class="uk-navbar-item">
                        <div>Some <a href="#">Link</a></div>
                    </div>
    
                    <div class="uk-navbar-item">
                        <form action="javascript:void(0)">
                            <input class="uk-input uk-form-width-small" type="text" placeholder="Input" aria-label="Input">
                            <button class="uk-button uk-button-default">Button</button>
                        </form>
                    </div>
    
                </div>
    
            </div>
        </div>
    </nav>

中央揃えのロゴで分割メニューを作成できます。同じナビバーコンテナ内の1つのナビバーにuk-navbar-center-leftクラスを、別のナビバーにuk-navbar-center-rightクラスを追加するだけです。これにより、ロゴが中央に配置され、メニューが左右に揃えられます。

<div class="uk-navbar-container" uk-navbar>
    <div class="uk-navbar-center">
        <div class="uk-navbar-center-left">…</div>
        <a href="" class="uk-navbar-item uk-logo"></a>
        <div class="uk-navbar-center-right">…</div>
    </div>
</div>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-center">
    
                    <div class="uk-navbar-center-left">
                        <ul class="uk-navbar-nav">
                            <li class="uk-active"><a href="#">Active</a></li>
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown">
                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                        <li class="uk-active"><a href="#">Active</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li><a href="#">Item</a></li>
                                    </ul>
                                </div>
                            </li>
                        </ul>
                    </div>
                    <a class="uk-navbar-item uk-logo" href="#">Logo</a>
                    <div class="uk-navbar-center-right">
                        <ul class="uk-navbar-nav">
                            <li><a href="#">Item</a></li>
                            <li><a href="#">Item</a></li>
                        </ul>
                    </div>
    
                </div>
    
            </div>
        </div>
    </nav>

トグル項目

.uk-navbar-toggle クラスと uk-navbar-toggle-icon 属性を <a> または <div> 要素に追加して、トグルとしてアイコンを作成します。デフォルトでは、トグルに JavaScript は関連付けられていません。例として、オフキャンバスコンポーネントのオフキャンバスナビゲーションや、モーダルコンポーネントのモーダルを追加できます。

<div class="uk-navbar-container" uk-navbar>
    <div class="uk-navbar-left">
        <a class="uk-navbar-toggle" uk-navbar-toggle-icon href=""></a>
    </div>
</div>
  • <nav class="uk-navbar-container uk-margin">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
                    <a class="uk-navbar-toggle" uk-navbar-toggle-icon href="#"></a>
                </div>
            
            </div>
        </div>
    </nav>
    
    <nav class="uk-navbar-container uk-margin">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
                    <a class="uk-navbar-toggle" href="#">
                        <span uk-navbar-toggle-icon></span> <span class="uk-margin-small-left">Menu</span>
                    </a>
                </div>
    
            </div>
        </div>
    </nav>

トグルアイコンをメニューアイコンからスムーズなアニメーション付きの閉じるアイコンに変更するには、.uk-navbar-toggle-animate クラスを追加します。

<a class="uk-navbar-toggle uk-navbar-toggle-animate" uk-navbar-toggle-icon href=""></a>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
                    <a class="uk-navbar-toggle uk-navbar-toggle-animate" uk-navbar-toggle-icon href="#"></a>
                    <div class="uk-navbar-dropdown">
                        <ul class="uk-nav uk-navbar-dropdown-nav">
                            <li class="uk-active"><a href="#">Active</a></li>
                            <li><a href="#">Item</a></li>
                            <li><a href="#">Item</a></li>
                        </ul>
                    </div>
                </div>
    
            </div>
        </div>
    </nav>

ナビバーには、ドロップダウンコンポーネントのドロップダウンを含めることができます。ドロップダウンに .uk-navbar-dropdown モディファイアを追加するだけで、ナビバーのスタイルに完全にフィットします。ドロップダウン内のナビに .uk-navbar-dropdown-nav クラスを追加します。

<ul class="uk-navbar-nav">
    <li>
        <a href=""></a>
        <div class="uk-navbar-dropdown">
            <ul class="uk-nav uk-navbar-dropdown-nav"></ul>
        </div>
    </li>
</ul>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active"><a href="#">Active</a></li>
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-header">Header</li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-divider"></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li><a href="#">Item</a></li>
                    </ul>
    
                </div>
                <div class="uk-navbar-right">
    
                    <ul class="uk-navbar-nav">
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-header">Header</li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-divider"></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                    </ul>
                </div>
    
            </div>
        </div>
    </nav>

クリックモード

ナビバー内の親項目は、ホバーまたはトグルのクリックによって有効にできます。uk-navbar属性にmode: clickオプションを追加するだけです。

<nav class="uk-navbar-container" uk-navbar="mode: click">…</nav>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar="mode: click">
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active"><a href="#">Active</a></li>
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li><a href="#">Item</a></li>
                    </ul>
    
                </div>
    
            </div>
        </div>
    </nav>

配置

デフォルトでは、ドロップダウンはナビバー項目の下に配置され、左に揃えられます。配置を変更するには、uk-navbar属性にalignオプションを設定します。

位置 説明
ドロップダウンを左に揃えます。
ドロップダウンを右に揃えます。
中央 ドロップダウンを中央に揃えます。
<div uk-navbar="align: center"></div>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar="align: center">
    
                <div class="uk-navbar-center">
    
                    <ul class="uk-navbar-nav">
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                    </ul>
    
                </div>
    
            </div>
        </div>
    </nav>

ターゲット

デフォルトでは、ドロップダウンはナビバー項目に揃えられます。ドロップダウンを別の要素に配置するには、uk-navbar属性にtarget: SELECTORオプションを追加します。

<nav class="uk-navbar-container" uk-navbar="target: !.uk-navbar">…</nav>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar="target: !.uk-navbar; align: center">
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-header">Header</li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-divider"></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
                                <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </li>
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown uk-navbar-dropdown-width-3">
                                <div class="uk-drop-grid uk-child-width-1-3" uk-grid>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </li>
                    </ul>
    
                </div>
    
                <div class="uk-navbar-right">
                    <ul class="uk-navbar-nav">
                        <li>
                            <a href="#">Parent</a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-header">Header</li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-divider"></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                    </ul>
                </div>
    
            </div>
        </div>
    </nav>

ドロップバー

ドロップバーは、ナビバーの全幅まで拡張され、デフォルトのスタイルなしでドロップダウンを表示します。ドロップバー内にドロップダウンを配置するには、uk-navbardropbar: trueオプションを追加します。オプションで、dropbar-anchorオプションを使用して、ドロップバーがマークアップに挿入される要素を選択します。

<nav class="uk-navbar-container" uk-navbar="dropbar: true">…</nav>
  • <div class="uk-position-relative">
    
        <nav class="uk-navbar-container">
            <div class="uk-container">
                <div uk-navbar="dropbar: true; dropbar-anchor: !.uk-navbar-container; target-y: !.uk-navbar-container">
    
                    <div class="uk-navbar-left">
    
                        <ul class="uk-navbar-nav">
                            <li class="uk-active"><a href="#">Active</a></li>
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown">
                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                        <li class="uk-active"><a href="#">Active</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li class="uk-nav-header">Header</li>
                                        <li><a href="#">Item</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li class="uk-nav-divider"></li>
                                        <li><a href="#">Item</a></li>
                                    </ul>
                                </div>
                            </li>
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
                                    <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                        <div>
                                            <ul class="uk-nav uk-navbar-dropdown-nav">
                                                <li class="uk-active"><a href="#">Active</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-header">Header</li>
                                                <li><a href="#">Item</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-divider"></li>
                                                <li><a href="#">Item</a></li>
                                            </ul>
                                        </div>
                                        <div>
                                            <ul class="uk-nav uk-navbar-dropdown-nav">
                                                <li class="uk-active"><a href="#">Active</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-header">Header</li>
                                                <li><a href="#">Item</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-divider"></li>
                                                <li><a href="#">Item</a></li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </li>
                        </ul>
    
                    </div>
    
                    <div class="uk-navbar-right">
    
                        <ul class="uk-navbar-nav">
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown">
                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                        <li class="uk-active"><a href="#">Active</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li class="uk-nav-header">Header</li>
                                        <li><a href="#">Item</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li class="uk-nav-divider"></li>
                                        <li><a href="#">Item</a></li>
                                    </ul>
                                </div>
                            </li>
                        </ul>
    
                    </div>
    
                </div>
            </div>
        </nav>
    
    </div>

ストレッチ

ドロップダウンをストレッチするには、ドロップコンポーネントとそのstretchオプションを使用します。次の例では、ドロップダウンは親ナビバーの境界に揃えられています。

<div class="uk-navbar-dropdown" uk-drop="boundary: !.uk-navbar; stretch: x; flip: false">…</div>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active"><a href="#">Active</a></li>
                        <li>
                            <a href>Parent</a>
                            <div class="uk-navbar-dropdown" uk-drop="boundary: !.uk-navbar; stretch: x; flip: false">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-header">Header</li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-divider"></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li>
                            <a href>Parent</a>
                            <div class="uk-navbar-dropdown" uk-drop="boundary: !.uk-navbar; stretch: x; flip: false">
                                <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </li>
                    </ul>
    
                </div>
    
            </div>
        </div>
    </nav>

親アイコン

親アイコンを作成するには、<span>要素にuk-navbar-parent-icon属性を追加するだけです。

<ul class="uk-navbar-nav">
    <li>
        <a href="">Parent <span uk-navbar-parent-icon></span></a>
        <div class="uk-navbar-dropdown"></div>
    </li>
</ul>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li class="uk-active"><a href="#">Active</a></li>
                        <li>
                            <a href="#">Parent <span uk-navbar-parent-icon></span></a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-header">Header</li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-divider"></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                        <li><a href="#">Item</a></li>
                    </ul>
    
                </div>
                <div class="uk-navbar-right">
    
                    <ul class="uk-navbar-nav">
                        <li>
                            <a href="#">Parent <span uk-navbar-parent-icon></span></a>
                            <div class="uk-navbar-dropdown">
                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-header">Header</li>
                                    <li><a href="#">Item</a></li>
                                    <li><a href="#">Item</a></li>
                                    <li class="uk-nav-divider"></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
                            </div>
                        </li>
                    </ul>
                </div>
    
            </div>
        </div>
    </nav>

幅とグリッド

ドロップダウン内にグリッドコンポーネントのグリッドを配置できます。コンテンツを<div>要素でラップし、uk-grid属性を追加するだけです。ドロップダウンがコンテナに収まらなくなった場合にグリッドを自動的に積み重ねる必要がある場合は、.uk-drop-gridクラスを追加するだけです。

最大5つの列に対応するには、次のクラスのいずれかを追加する必要もあります。列がコンテナに収まらなくなった場合は、積み重ねられます。

クラス 説明
.uk-navbar-dropdown-width-2 このクラスを追加して、ドロップダウンの幅を2倍にします。
.uk-navbar-dropdown-width-3 このクラスを追加して、ドロップダウンの幅を3倍にします。
.uk-navbar-dropdown-width-4 このクラスを追加して、ドロップダウンの幅を4倍にします。
.uk-navbar-dropdown-width-5 このクラスを追加して、ドロップダウンの幅を5倍にします。
<div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
    <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
        <div>
            <ul class="uk-nav uk-navbar-dropdown-nav">…</ul>
        </div>
        <div>…</div>
    </div>
</div>
  • <nav class="uk-navbar-container">
        <div class="uk-container">
            <div uk-navbar>
    
                <div class="uk-navbar-left">
    
                    <ul class="uk-navbar-nav">
                        <li>
                            <a href="#">Two Columns</a>
                            <div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
                                <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                    <div>
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </li>
                    </ul>
    
                </div>
    
            </div>
        </div>
    </nav>

基本的なスティッキーナビバーの場合は、スティッキーコンポーネントuk-sticky属性を持つコンテナ内にナビバーをラップします。

ナビバー自体には、スティッキー状態に最適化されたスタイル(たとえば、追加のボックスシャドウ)を保証するモディファイアクラスuk-navbar-stickyがあります。スティッキーコンポーネントにそのクラスを動的に追加および削除させるには、cls-active: uk-navbar-stickyを設定します。クラスがナビバーコンテナに追加されるようにするには、sel-target: .uk-navbar-containerを設定します。

スティッキーナビバーのテストでさらに多くの例を見ることができます。

<div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky">
    <nav class="uk-navbar-container" uk-navbar></nav>
</div>
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

  • <div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; end: + *; offset: 80">
    
        <nav class="uk-navbar-container">
            <div class="uk-container">
                <div uk-navbar>
    
                    <div class="uk-navbar-left">
    
                        <ul class="uk-navbar-nav">
                            <li class="uk-active"><a href="#">Active</a></li>
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown">
                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                        <li class="uk-active"><a href="#">Active</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li><a href="#">Item</a></li>
                                    </ul>
                                </div>
                            </li>
                            <li><a href="#">Item</a></li>
                        </ul>
    
                    </div>
    
                </div>
            </div>
        </nav>
    
    </div>
    
    <div class="uk-section uk-section-secondary uk-background-cover" style="background-image: url('images/dark.jpg');">
        <div class="uk-container">
    
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
            <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.</p>
    
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
        </div>
    </div>

ドロップダウンを使用する代わりに、ナビバーの下の全幅に広がるドロップバーにサブナビゲーションを表示することもできます。uk-navbar属性でdropbar: trueを設定するだけです。

<div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky">
    <nav class="uk-navbar-container" uk-navbar="dropbar: true"></nav>
</div>
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

  • <div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; end: + *; offset: 80">
    
        <nav class="uk-navbar-container">
            <div class="uk-container">
                <div uk-navbar="dropbar: true; dropbar-anchor: !.uk-navbar-container; target-y: !.uk-navbar-container">
    
                    <div class="uk-navbar-left">
    
                        <ul class="uk-navbar-nav">
                            <li class="uk-active"><a href="#">Active</a></li>
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown">
                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                        <li class="uk-active"><a href="#">Active</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li class="uk-nav-header">Header</li>
                                        <li><a href="#">Item</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li class="uk-nav-divider"></li>
                                        <li><a href="#">Item</a></li>
                                    </ul>
                                </div>
                            </li>
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
                                    <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                        <div>
                                            <ul class="uk-nav uk-navbar-dropdown-nav">
                                                <li class="uk-active"><a href="#">Active</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-header">Header</li>
                                                <li><a href="#">Item</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-divider"></li>
                                                <li><a href="#">Item</a></li>
                                            </ul>
                                        </div>
                                        <div>
                                            <ul class="uk-nav uk-navbar-dropdown-nav">
                                                <li class="uk-active"><a href="#">Active</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-header">Header</li>
                                                <li><a href="#">Item</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-divider"></li>
                                                <li><a href="#">Item</a></li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </li>
                        </ul>
    
                    </div>
    
                </div>
            </div>
        </nav>
    
    </div>
    
    <div class="uk-section uk-section-secondary uk-background-cover" style="background-image: url('images/dark.jpg');">
        <div class="uk-container">
    
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
            <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.</p>
    
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
        </div>
    </div>
    

透明なスティッキーナビバー

透明なナビバーがスティッキーになると、通常、.uk-navbar-transparentクラスを.uk-lightまたは.uk-darkと一緒に削除し、ナビバーが非スティッキー状態に戻ったときに再度追加する必要があります。それを行うには、cls-inactive: uk-navbar-transparent uk-lightを設定します。

デフォルトでは、クラスの即時切り替えは見栄えが良くありません。代わりに、start: 200を設定して、ユーザーがナビバーを200px過ぎてスクロールしたときにナビバーを消してから再表示させます。その場合、ナビバーをアニメーションでスライドインすることもできます。animation: uk-animation-slide-topを設定するだけです。

<div uk-sticky="start: 200; animation: uk-animation-slide-top; sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; cls-inactive: uk-navbar-transparent uk-light">
    <nav class="uk-navbar-container uk-light" uk-navbar></nav>
</div>
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

  • <div class="uk-section-secondary uk-background-cover uk-preserve-color" style="background-image: url('images/dark.jpg');">
    
        <div uk-sticky="start: 170; animation: uk-animation-slide-top; sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; cls-inactive: uk-navbar-transparent uk-light; end: ! *; offset: 80">
    
            <nav class="uk-navbar-container uk-light">
                <div class="uk-container uk-container-expand">
                    <div uk-navbar>
    
                        <ul class="uk-navbar-nav">
                            <li class="uk-active"><a href="#">Active</a></li>
                            <li>
                                <a href="#">Parent</a>
                                <div class="uk-navbar-dropdown">
                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                        <li class="uk-active"><a href="#">Active</a></li>
                                        <li><a href="#">Item</a></li>
                                        <li><a href="#">Item</a></li>
                                    </ul>
                                </div>
                            </li>
                            <li><a href="#">Item</a></li>
                        </ul>
    
                    </div>
                </div>
            </nav>
        </div>
    
        <div class="uk-section uk-light">
            <div class="uk-container">
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
                <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.</p>
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
            </div>
        </div>
    
    </div>

ドロップバーの透明モード

ドロップバーを開いた場合に、透明なナビバーの外観を最適化するには、dropbar-transparent-modeオプションを次のいずれかの値に設定します。

モード 説明
削除 ドロップバーが開いたときにナビバーの透明度を削除し、ドロップバーが閉じるときに追加します。
背後 ドロップバーをナビバーの背後に開き、ナビバーのコンテンツがドロップバーの背景の上に表示されるようにします。

反転コンポーネントを使用して、背後にある背景に応じて透明なナビバーを色付けします。ナビバーが透明でなくなったときに色が変化しないようにするには、uk-inverse属性にsel-active: .uk-navbar-transparentオプションを追加するだけです。

たとえば、ナビバーがヒーローセクションでのみ透明であり、スティッキーではない場合は、dropbar-transparent-mode: removeを設定します。

<div uk-sticky="start: 200; animation: uk-animation-slide-top; sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; cls-inactive: uk-navbar-transparent">
    <nav class="uk-navbar-container" uk-inverse="sel-active: .uk-navbar-transparent" uk-navbar="dropbar: true; dropbar-transparent-mode: remove">…</nav>
</div>
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

  • <div class="uk-section-secondary uk-background-cover uk-preserve-color uk-inverse-light" style="background-image: url('images/dark.jpg');">
    
        <div uk-sticky="start: 170; animation: uk-animation-slide-top; sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; cls-inactive: uk-navbar-transparent; end: ! *; offset: 80">
    
            <nav class="uk-navbar-container" uk-inverse="sel-active: .uk-navbar-transparent">
                <div class="uk-container">
                    <div uk-navbar="dropbar: true; dropbar-transparent-mode: remove; dropbar-anchor: !.uk-navbar-container; target-y: !.uk-navbar-container">
    
                        <div class="uk-navbar-left">
    
                            <ul class="uk-navbar-nav">
                                <li class="uk-active"><a href="#">Active</a></li>
                                <li>
                                    <a href="#">Parent</a>
                                    <div class="uk-navbar-dropdown">
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                </li>
                                <li>
                                    <a href="#">Parent</a>
                                    <div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
                                        <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                            <div>
                                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                                    <li class="uk-active"><a href="#">Active</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-header">Header</li>
                                                    <li><a href="#">Item</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-divider"></li>
                                                    <li><a href="#">Item</a></li>
                                                </ul>
                                            </div>
                                            <div>
                                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                                    <li class="uk-active"><a href="#">Active</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-header">Header</li>
                                                    <li><a href="#">Item</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-divider"></li>
                                                    <li><a href="#">Item</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                </li>
                            </ul>
    
                        </div>
    
                    </div>
                </div>
            </nav>
    
        </div>
    
        <div class="uk-section uk-light">
            <div class="uk-container">
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
                <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.</p>
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
            </div>
        </div>
    
    </div>

あるいは、ナビバーが常に透明な場合(スティッキー時も含む)は、dropbar-transparent-mode: behind を設定することで、ドロップバーをナビバーの背後に開き、透明でなくなるようにします。

<div class="uk-inverse-light">
    <div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky">
        <nav class="uk-navbar-container uk-navbar-transparent uk-position-relative uk-position-z-index-high" uk-inverse="sel-active: .uk-navbar-transparent" uk-navbar="dropbar: true; dropbar-transparent-mode: behind; dropbar-anchor: !.uk-navbar-container; target-y: !.uk-navbar-container">…</nav>
    </div>
</div>
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

  • <div class="uk-section-secondary uk-background-cover uk-preserve-color uk-inverse-light" style="background-image: url('images/dark.jpg');">
    
        <div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; end: ! *; offset: 80">
    
            <nav class="uk-navbar-container uk-navbar-transparent uk-position-relative uk-position-z-index-high" uk-inverse="sel-active: .uk-navbar-transparent">
                <div class="uk-container">
                    <div uk-navbar="dropbar: true; dropbar-transparent-mode: behind; dropbar-anchor: !.uk-navbar-container; target-y: !.uk-navbar-container">
    
                        <div class="uk-navbar-left">
    
                            <ul class="uk-navbar-nav">
                                <li class="uk-active"><a href="#">Active</a></li>
                                <li>
                                    <a href="#">Parent</a>
                                    <div class="uk-navbar-dropdown">
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
                                            <li class="uk-active"><a href="#">Active</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-header">Header</li>
                                            <li><a href="#">Item</a></li>
                                            <li><a href="#">Item</a></li>
                                            <li class="uk-nav-divider"></li>
                                            <li><a href="#">Item</a></li>
                                        </ul>
                                    </div>
                                </li>
                                <li>
                                    <a href="#">Parent</a>
                                    <div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
                                        <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                            <div>
                                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                                    <li class="uk-active"><a href="#">Active</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-header">Header</li>
                                                    <li><a href="#">Item</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-divider"></li>
                                                    <li><a href="#">Item</a></li>
                                                </ul>
                                            </div>
                                            <div>
                                                <ul class="uk-nav uk-navbar-dropdown-nav">
                                                    <li class="uk-active"><a href="#">Active</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-header">Header</li>
                                                    <li><a href="#">Item</a></li>
                                                    <li><a href="#">Item</a></li>
                                                    <li class="uk-nav-divider"></li>
                                                    <li><a href="#">Item</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                </li>
                            </ul>
    
                        </div>
    
                    </div>
                </div>
            </nav>
    
        </div>
    
        <div class="uk-section uk-light">
            <div class="uk-container">
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
                <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.</p>
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
            </div>
        </div>
    
    </div>

スティッキーな透明ナビバーを使用する場合、ページ背景とブレンドさせるのが一般的です。この場合、ドロップバーは dropbar-anchor を使用してブレンド要素の外に配置し、ドロップダウンは container を使用して配置する必要があります。そうしないと、ドロップバーとドロップダウンもページ背景とブレンドされてしまいます。これはまた、ドロップバーがスティッキーコンテナの外に配置されることも意味します。その結果、ナビバーのみがスティッキーな状態を保ち、開いたドロップバーはスクロールアウトして見えなくなってしまいます。これが、スクロール前にドロップバーを閉じるための新しい close-on-scroll オプションを追加した理由です。

白い色のみがページ背景とよくブレンドされるため、ナビバーが明るい色であるか、.uk-light クラスを使用するようにしてください。ナビバーを自動的に色付けするために uk-inverse 属性を使用しないでください。

<div class="uk-blend-difference uk-position-z-index-high" uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky">
    <nav class="uk-navbar-container uk-navbar-transparent uk-light" uk-navbar="container: !.uk-section-default; dropbar: true; dropbar-transparent-mode: behind; close-on-scroll: true; dropbar-anchor: !.uk-blend-difference">…</nav>
</div>
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

  • <div class="uk-section-default uk-background-cover uk-preserve-color" style="background-image: url('images/light.jpg');">
    
        <div id="test">
    
            <div class="uk-blend-difference uk-position-z-index-high" uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; end: !.uk-section-default; offset: 80">
    
                <nav class="uk-navbar-container uk-navbar-transparent uk-light">
                    <div class="uk-container">
                        <div uk-navbar="container: #test; dropbar: true; dropbar-transparent-mode: behind; close-on-scroll: true; dropbar-anchor: !.uk-blend-difference; target-y: #test .uk-navbar-container">
    
                            <div class="uk-navbar-left">
    
                                <ul class="uk-navbar-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li>
                                        <a href="#">Parent</a>
                                        <div class="uk-navbar-dropdown">
                                            <ul class="uk-nav uk-navbar-dropdown-nav">
                                                <li class="uk-active"><a href="#">Active</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-header">Header</li>
                                                <li><a href="#">Item</a></li>
                                                <li><a href="#">Item</a></li>
                                                <li class="uk-nav-divider"></li>
                                                <li><a href="#">Item</a></li>
                                            </ul>
                                        </div>
                                    </li>
                                    <li>
                                        <a href="#">Parent</a>
                                        <div class="uk-navbar-dropdown uk-navbar-dropdown-width-2">
                                            <div class="uk-drop-grid uk-child-width-1-2" uk-grid>
                                                <div>
                                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                                        <li class="uk-active"><a href="#">Active</a></li>
                                                        <li><a href="#">Item</a></li>
                                                        <li class="uk-nav-header">Header</li>
                                                        <li><a href="#">Item</a></li>
                                                        <li><a href="#">Item</a></li>
                                                        <li class="uk-nav-divider"></li>
                                                        <li><a href="#">Item</a></li>
                                                    </ul>
                                                </div>
                                                <div>
                                                    <ul class="uk-nav uk-navbar-dropdown-nav">
                                                        <li class="uk-active"><a href="#">Active</a></li>
                                                        <li><a href="#">Item</a></li>
                                                        <li class="uk-nav-header">Header</li>
                                                        <li><a href="#">Item</a></li>
                                                        <li><a href="#">Item</a></li>
                                                        <li class="uk-nav-divider"></li>
                                                        <li><a href="#">Item</a></li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </li>
                                </ul>
    
                            </div>
    
                        </div>
                    </div>
                </nav>
    
            </div>
    
        </div>
    
        <div class="uk-section">
            <div class="uk-container">
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
                <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.</p>
    
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.</p>
    
            </div>
        </div>
    
    </div>

ナビバーの各部を個別に色付けする

ナビバーの各部を個別に色付けするには、uk-inverse 属性に target: .uk-navbar-left, .uk-navbar-center, .uk-navbar-right オプションを追加するだけです。

<div class="uk-position-relative">

    <div class="uk-position-top">
        <div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky">
            <nav class="uk-navbar-container uk-navbar-transparent" uk-inverse="target: .uk-navbar-left, .uk-navbar-center, .uk-navbar-right" uk-navbar></nav>
        </div>
    </div>

    <div class="uk-child-width-1-3@s uk-grid-collapse uk-grid-match" uk-grid>
        <div>
            <div class="uk-tile uk-tile-default"></div>
        </div>
        <div>
            <div class="uk-tile uk-tile-primary"></div>
        </div>
        <div>
            <div class="uk-tile uk-tile-secondary"></div>
        </div>
    </div>

</div>
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • <div class="uk-position-relative">
    
        <div class="uk-position-top">
    
            <div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky; end: !.uk-position-relative; offset: 80">
                <nav class="uk-navbar-container uk-navbar-transparent" uk-inverse="target: .uk-navbar-left, .uk-navbar-center, .uk-navbar-right">
                    <div class="uk-container">
                        <div uk-navbar>
                            <div class="uk-navbar-left">
    
                                <ul class="uk-navbar-nav">
                                    <li class="uk-active"><a href="#">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
    
                            </div>
                            <div class="uk-navbar-center">
    
                                <ul class="uk-navbar-nav">
                                    <li class="uk-active"><a href="">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
    
                            </div>
                            <div class="uk-navbar-right">
    
                                <ul class="uk-navbar-nav">
                                    <li class="uk-active"><a href="">Active</a></li>
                                    <li><a href="#">Item</a></li>
                                </ul>
    
                            </div>
                        </div>
                    </div>
                </nav>
            </div>
        </div>
    
        <div class="uk-child-width-1-3@s uk-grid-collapse uk-grid-match" uk-grid>
            <div>
    
                <div class="uk-tile uk-tile-default">
                    <div uk-height-placeholder="!.uk-position-relative .uk-position-top" class="uk-margin-remove-adjacent"></div>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
            <div>
    
                <div class="uk-tile uk-tile-primary">
                    <div uk-height-placeholder="!.uk-position-relative .uk-position-top" class="uk-margin-remove-adjacent"></div>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
            <div>
    
                <div class="uk-tile uk-tile-secondary">
                    <div uk-height-placeholder="!.uk-position-relative .uk-position-top" class="uk-margin-remove-adjacent"></div>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
        </div>
    
        <div class="uk-child-width-1-3@s uk-grid-collapse uk-grid-match" uk-grid>
            <div>
    
                <div class="uk-tile uk-tile-primary">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
            <div>
    
                <div class="uk-tile uk-tile-muted">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
            <div>
    
                <div class="uk-tile uk-tile-default">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
        </div>
    
        <div class="uk-child-width-1-3@s uk-grid-collapse uk-grid-match" uk-grid>
            <div>
    
                <div class="uk-tile uk-tile-default">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
            <div>
    
                <div class="uk-tile uk-tile-secondary">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
            <div>
    
                <div class="uk-tile uk-tile-muted">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
                </div>
    
            </div>
        </div>
    
    </div>

ページ背景に応じてナビバーを色付けする方法の詳細については、Inverse コンポーネントをご覧ください。


コンポーネントオプション

これらのオプションはすべて、コンポーネント属性に適用できます。複数のオプションはセミコロンで区切ります。詳細はこちら

オプション デフォルト 説明
align String ドロップダウンの配置(leftrightcenter)。
dropbar Boolean false ドロップバーの動作を有効または無効にします。
dropbar-anchor CSS セレクタ false 設定した場合、ドロップバーはアンカー要素の後に挿入されます。
dropbar-transparent-mode Boolean, String false ドロップバーの透明モード(behindremove)。
stretch Boolean, String false 両方(true)または指定された軸(xy)にドロップダウンをストレッチします。
mode String click, hover ドロップダウントリガーの動作モードのカンマ区切りリスト(clickhover)。
delay-show Number 0 ホバーモードでドロップダウンが表示されるまでの遅延時間(ミリ秒単位)。
delay-hide Number 800 ホバーモードでドロップダウンが非表示になるまでの遅延時間(ミリ秒単位)。
boundary CSS セレクタ true ドロップダウンが反転およびシフトする原因となる、ドロップダウンが超えることのできない領域。デフォルトでは、最も近いスクロール祖先です。
target Boolean, CSS セレクタ false ドロップダウンが配置される要素(ウィンドウの場合は true)。
target-x Boolean, CSS セレクタ false ドロップダウンが配置される要素のX軸(ウィンドウの場合は true)。
target-y Boolean, CSS セレクタ false ドロップダウンが配置される要素のY軸(ウィンドウの場合は true)。
offset Number 0 ドロップダウンのオフセット。
animation String uk-animation-fade アニメーションの名前をスペースで区切って指定します。アニメーションアウトの場合はカンマ区切り。
animate-out Boolean false ドロップダウンを閉じるときにアニメーションを使用します。
bg-scroll Boolean true ドロップダウンが開いている間、背景のスクロールを許可します。
close-on-scroll Boolean false 親のスクロールコンテナをスクロールするとドロップダウンを閉じます。
duration Number 200 アニメーションの継続時間。
container Boolean false セレクタを介してターゲットコンテナを定義し、DOM内でドロップダウンを追加する場所を指定します。

JavaScript

JavaScriptコンポーネントの詳細をご覧ください。

初期化

UIkit.navbar(element, options);

イベント

このコンポーネントがアタッチされた要素で、次のイベントが発生します。

名前 説明
beforeshow アイテムが表示される前に発生します。イベントで preventDefault() を呼び出すことで、表示を防止できます。
show アイテムが表示された後に発生します。
shown アイテムの表示アニメーションが完了した後に発生します。
beforehide アイテムが非表示になる前に発生します。イベントで preventDefault() を呼び出すことで、非表示を防止できます。
hide アイテムの非表示アニメーションが開始された後に発生します。
hidden アイテムが非表示になった後に発生します。

アクセシビリティ

Navbar コンポーネントは、Disclosure Navigation Menu WAI-ARIA デザインパターンに準拠し、適切な WAI-ARIA の状態とプロパティを自動的に設定します。

キーボード操作

Navbar コンポーネントには、以下のキーを使用してキーボードからアクセスできます。

国際化

トグルアイテムコンポーネントは、次の翻訳文字列を使用します。コンポーネントの翻訳の詳細をご覧ください。

キー デフォルト 説明
label メニューを開く aria-label 属性。