跳到主要内容

文档

Search

轻松创建美观的搜索框。

用法

Search 组件由搜索表单和搜索输入框本身组成。

类/属性 描述
.uk-search 将该类添加到容器元素上,以定义 Search 组件。
.uk-search-input 将该类添加到 <input> 元素上,以创建搜索输入框。
<form class="uk-search" aria-label="Search">
    <input class="uk-search-input" type="search" placeholder="" aria-label="">
</form>

默认情况下,搜索框没有额外样式。在本例中,我们使用了 .uk-search-default 修饰符。

<form class="uk-search uk-search-default">
    <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
</form>

搜索图标

要创建搜索图标,为 <span> 元素添加 uk-search-icon 属性。要改变对齐方式,添加 .uk-search-icon-flip 类。

<form class="uk-search uk-search-default">
    <span uk-search-icon></span>
    <input class="uk-search-input" type="search" placeholder="" aria-label="">
</form>

<form class="uk-search uk-search-default">
    <input class="uk-search-input" type="search" placeholder="" aria-label="">
    <span class="uk-search-icon-flip" uk-search-icon></span>
</form>
<div class="uk-margin">
    <form class="uk-search uk-search-default">
        <span uk-search-icon></span>
        <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
    </form>
</div>

<div class="uk-margin">
    <form class="uk-search uk-search-default">
        <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
        <span class="uk-search-icon-flip" uk-search-icon></span>
    </form>
</div>

可点击

要启用某个操作,使用 <a> 或 <button> 元素来创建图标。

<form class="uk-search uk-search-default">
    <button uk-search-icon></button>
    <input class="uk-search-input" type="search" placeholder="" aria-label="">
</form>

<form class="uk-search uk-search-default">
    <input class="uk-search-input" type="search" placeholder="" aria-label="">
    <button class="uk-search-icon-flip" uk-search-icon></button>
</form>
<div class="uk-margin">
    <form class="uk-search uk-search-default">
        <button uk-search-icon></button>
        <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
    </form>
</div>

<div class="uk-margin">
    <form class="uk-search uk-search-default">
        <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
        <button class="uk-search-icon-flip" uk-search-icon></button>
    </form>
</div>

Default 修饰符

要应用默认的搜索框样式,添加 .uk-search-default 类。

<form class="uk-search uk-search-default">…</form>
<form class="uk-search uk-search-default">
    <span uk-search-icon></span>
    <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
</form>

要在来自 Navbar 组件 的导航栏中使用搜索并应用专用样式,添加 .uk-search-navbar 类。

<form class="uk-search uk-search-navbar">…</form>
<nav class="uk-navbar-container" uk-navbar>
    <div class="uk-navbar-left">

        <div class="uk-navbar-item">
            <form class="uk-search uk-search-navbar">
                <span uk-search-icon></span>
                <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
            </form>
        </div>

    </div>
</nav>

Medium 修饰符

要增大搜索框的尺寸,例如在下拉菜单中使用搜索框时,添加 .uk-search-medium 类。

<form class="uk-search uk-search-medium">…</form>
<form class="uk-search uk-search-medium">
    <span uk-search-icon></span>
    <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
</form>

Large 修饰符

要增大搜索框的尺寸,例如在全屏模态框中使用搜索框时,添加 .uk-search-large 类。

<form class="uk-search uk-search-large">…</form>
<form class="uk-search uk-search-large">
    <span uk-search-icon></span>
    <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search">
</form>

切换项

当使用 <a> 或 <button> 元素时,要为搜索图标添加悬停状态,请添加 .uk-search-toggle 类。要创建搜索图标本身,添加 uk-search-icon 属性。

<a class="uk-search-toggle" href="" uk-search-icon></a>
<a class="uk-search-toggle" href="" uk-search-icon></a>

导航栏中的搜索

搜索图标可以用作切换项,在导航栏内部以遮罩层、下拉或下拉菜单的形式打开搜索,也可以在外部以模态框的形式打开。只需为图标添加 .uk-navbar-toggle 类。

<div class="uk-navbar-container" uk-navbar>
    <div class="uk-navbar-left">
        <a class="uk-navbar-toggle" uk-search-icon uk-toggle href=""></a>
    </div>
</div>

遮罩层

<nav class="uk-navbar-container uk-margin" uk-navbar>

    <div class="nav-overlay uk-navbar-left">

        <a class="uk-navbar-item uk-logo" href="#">Logo</a>

        <ul class="uk-navbar-nav">
            <li class="uk-active"><a href="#">Active</a></li>
            <li><a href="#">Item</a></li>
        </ul>

    </div>

    <div class="nav-overlay uk-navbar-right">

        <a class="uk-navbar-toggle" uk-search-icon uk-toggle="target: .nav-overlay; animation: uk-animation-fade" href="#"></a>

    </div>

    <div class="nav-overlay uk-navbar-left uk-flex-1" hidden>

        <div class="uk-navbar-item uk-width-expand">
            <form class="uk-search uk-search-navbar uk-width-1-1">
                <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search" autofocus>
            </form>
        </div>

        <a class="uk-navbar-toggle" uk-close uk-toggle="target: .nav-overlay; animation: uk-animation-fade" href="#"></a>

    </div>

</nav>

下拉

<nav class="uk-navbar-container uk-margin" uk-navbar>
    <div class="uk-navbar-left">

        <a class="uk-navbar-item uk-logo" href="#">Logo</a>

        <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">

        <div>
            <a class="uk-navbar-toggle" href uk-search-icon></a>
            <div class="uk-drop" uk-drop="mode: click; pos: left-center; offset: 0">
                <form class="uk-search uk-search-navbar uk-width-1-1">
                    <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search" autofocus>
                </form>
            </div>
        </div>

    </div>
</nav>

下拉菜单

<nav class="uk-navbar-container uk-margin" uk-navbar>
    <div class="uk-navbar-left">

        <a class="uk-navbar-item uk-logo" href="#">Logo</a>

        <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">

        <div>
            <a class="uk-navbar-toggle" href uk-search-icon></a>
            <div class="uk-navbar-dropdown" uk-drop="mode: click; boundary: !.uk-navbar; flip: false">

                <div class="uk-grid-small uk-flex-middle" uk-grid>
                    <div class="uk-width-expand">
                        <form class="uk-search uk-search-navbar uk-width-1-1">
                            <input class="uk-search-input" type="search" placeholder="Search" aria-label="Search" autofocus>
                        </form>
                    </div>
                    <div class="uk-width-auto">
                        <a class="uk-drop-close" href="#" uk-close></a>
                    </div>
                </div>

            </div>
        </div>

    </div>
</nav>

模态框

<nav class="uk-navbar uk-navbar-container uk-margin">
    <div class="uk-navbar-left">

        <a class="uk-navbar-item uk-logo" href="#">Logo</a>

        <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">

        <a class="uk-navbar-toggle" href="#modal-full" uk-search-icon uk-toggle></a>

    </div>
</nav>

<div id="modal-full" class="uk-modal-full uk-modal" uk-modal>
    <div class="uk-modal-dialog uk-flex uk-flex-center uk-flex-middle" uk-height-viewport>
        <button class="uk-modal-close-full" type="button" uk-close></button>
        <form class="uk-search uk-search-large">
            <input class="uk-search-input uk-text-center" type="search" placeholder="Search" aria-label="Search" autofocus>
        </form>
    </div>
</div>

可访问性

为 Search 组件设置合适的 WAI-ARIA 角色、状态和属性。

<input class="uk-search-input" type="search" aria-label="…">

国际化

Search 组件使用以下翻译字符串。了解关于 翻译组件 的更多内容。

键 默认值 描述
toggle Open Search 切换按钮的 aria-label 属性。
submit Submit Search 提交按钮的 aria-label 属性。