Bootstrap导航栏下拉登录

时间:2017-09-07 17:00:12

标签: twitter-bootstrap navbar dropdown bootstrap-4

我想创建登录和注册下拉表单。我在这个网站上阅读了多个主题,似乎没有什么对我有用。

以下是目前的情况:

Current look

我希望表单位于Login链接之上。我注意到当我点击用户名和密码输入字段周围的空白区域时,表单消失了,我必须通过单击Login再次启动它。我该如何解决这个问题?

以下是导航栏的代码:

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#"><img src="http://shrani.si/f/46/2Q/2Ps2wfOq/camera.png"></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
        <li class="nav-item active">
            <a class="nav-link" href="#">Photo Master</span></a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Upload Your Own</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Contact</a>
        </li>
    </ul>
    <ul class="navbar-nav mr-right">
        <li class="nav-item">
            <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Login
            </a>
            <div class="dropdown-menu" style="padding: 15px; padding-bottom: 10px;">
                <form class="form-horizontal" method="post" accept-charset="UTF-8">
                    <input class="form-control login" type="text" name="username" placeholder="Username.." /><br>
                    <input class="form-control login" type="password" name="password" placeholder="Password.."/><br>
                    <input class="btn btn-primary" type="submit" name="submit" value="Login" />
                </form>
            </div>
        </li>
        <li class="nav-item">
            <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Register
            </a>
        </li>
    </ul>
    <form class="form-inline my-2 my-lg-0">
        <input class="form-control mr-sm-2" type="text" placeholder="Search..." aria-label="Search">
        <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    </form>
</div>

一个简短的CSS代码来设计它:

.login {
    margin-bottom:5px;
}
.dropdown-menu {
    width: 300px !important;
}

1 个答案:

答案 0 :(得分:1)

导航项需要dropdown类..

https://www.codeply.com/go/o7Ys06Z3c9

        <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Login
            </a>
            <div class="dropdown-menu" style="padding: 15px; padding-bottom: 10px;">
                <form class="form-horizontal" method="post" accept-charset="UTF-8">
                    <input class="form-control login" type="text" name="username" placeholder="Username.."><br>
                    <input class="form-control login" type="password" name="password" placeholder="Password.."><br>
                    <input class="btn btn-primary" type="submit" name="submit" value="Login">
                </form>
            </div>
        </li>