html - 使用 Bootstrap 4 在移动设备上内嵌导航栏图标?

标签 html css twitter-bootstrap

我正在尝试在 Bootstrap 4 中配置导航栏以显示其他图标,以保留仅在移动设备上显示的汉堡菜单。

我无法让图标内联显示,也无法找出哪里出错了。

我将类 navbar-nav 添加到列表中,将 d-lg-none 添加到较大设备上隐藏。 Bootstrap 中是否有内置类可以修复这些类的对齐问题?我什至无法弄清楚我哪里出了问题。

Broken Navbar

HTML:

        <nav class="navbar navbar-expand-lg">
            <div class="container">
                <a class="navbar-brand" href="#">
                    <img src="assets/images/logo-blue-sm.png" alt="">
                </a>
                <ul class="navbar-nav d-lg-none ml-auto navbar-icons ">
                    <li class="nav-item">
                        <a class="nav-link" href="tel:+1234567890"><i class="fa fa-3x fa-map-marker"></i></a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="tel:+1234567890"><i class="fa fa-3x fa-comments"></i></a>
                    </li>
                </ul>
                <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"> </span>
                </button>
                <div class="collapse navbar-collapse" id="navbarCollapse">
                    <ul class="navbar-nav ml-auto">                 
                        <li class="nav-item dropdown">
                            <a class="nav-link dropdown-toggle" href="#" id="docMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Experience</a>
                            <ul class="dropdown-menu" aria-labelledby="docMenu">
                                <li> <a class="dropdown-item" href="#">Our Story</a> </li>
                            </ul>
                        </li>
                    </ul>
                </div>
                <div class="nav-item border-0 d-none d-lg-inline-block align-self-center">
                    <a href="#" class=" btn btn-sm btn-grad text-white mb-0">Get Started</a>
                </div>
            </div>
        </div>
    </nav>

附加CSS:

.navbar-icons .nav-item{
  border-bottom:none;
  padding:0 5px;
  position:relative;
 }

最佳答案

根据您的布局,您可以使用 bootstrap flex 实用程序类轻松解决该问题 Read more .

只需将 d-flexflex-row 类添加到包含元素的 ul 即可:

<ul class="navbar-nav d-lg-none ml-auto navbar-icons d-flex flex-row">

这会将ul的显示更改为 flex 并强制 flex 方向为行样式,因此元素将并排显示。

这是一个非常好的指南flexbox 。尝试了解基础知识并将其与 Bootstrap Flex 类一起使用。

关于html - 使用 Bootstrap 4 在移动设备上内嵌导航栏图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56360471/

相关文章:

css - 使用列表项重置 Zebra Css Design

html - 将悬停固定到导航菜单

jquery - 模式弹出窗口 (div) 的关闭按钮(div 包含在其中)未完全显示

javascript - Bootstrap 菜单换行符

jquery - 跳过 Bootstrap Tour 中的步骤?

twitter-bootstrap - Bootstrap 列右对齐

html - 将伪元素放置在 LI 内的嵌套列表之前

javascript - 功能检测自动播放 HTML5 音频 - 移动浏览器上的音频

html - 在 Div 中居中响应式 YouTube 视频

css - CSS 行高是如何测量的?