【问题标题】:navbar collapse without socialmedia items没有社交媒体项目的导航栏崩溃
【发布时间】:2018-03-19 03:54:39
【问题描述】:

我的导航栏在调整窗口大小时会折叠。除了导航栏中常见的东西,比如关于、联系...等,我还有两个社交媒体链接(facebook 和 twitter)。在我调整窗口大小后,两个社交媒体项目都会跳到折叠栏的右侧,并显示在折叠栏的“下拉菜单”中。

我希望社交媒体项目显示在所谓的下拉按钮的左侧,并且不显示在折叠栏中。

我已经尝试通过在折叠栏 div 之外采购它们来实现这一点,但没有任何变化。

有什么帮助吗?

<nav class="navbar navbar-expand-lg navbar fixed-top navbar-dark bg-dark">
    <div class="container">
        <a class="navbar-brand" href="#"><img src="img/logo.png" width="100" height="100" class="d-inline-block align-top" alt=""></a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarForCollapse" aria-controls="navbarForCollapse" aria-expanded="false" aria-label="Toggle navigation">       
            <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarForCollapse">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item active">
                    <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">About</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Our team</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Contact</a>
                </li>
            </ul>
        </div>
        <div class="navbar-social">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item">
                    <a href="#" class="fa fa-facebook mr-lg-2"></a>
                </li>
                <li class="nav-item">
                    <a href="#" class="fa fa-twitter"></a>
                </li>
            </ul> 
        </div>          
    </div>
</nav>

对于视觉:

https://jsfiddle.net/8ay2g0tL/3/

谢谢!

结果

我不确定这是否是最佳做法,但我最终能够将其从折叠的导航栏中隐藏的方法是将其设置为显示:无

像这样:

@media only screen and (max-width: 998px) {
#navbarfbtw{
display:none;
}    

}

【问题讨论】:

    标签: html css twitter-bootstrap


    【解决方案1】:

    只需将class="navbar-social" 包裹在父class="collapse navbar-collapse" 中,也没有理由使用&lt;div class="navbar-social"&gt; 所以只需添加社交li 项目(带有navbar-social 类)ul 元素如下:

    Updated JsFiddle

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <nav class="navbar navbar-expand-lg navbar fixed-top navbar-dark bg-dark">
       <div class="container">
          <a class="navbar-brand" href="#"><img src="img/logo.png" width="100" height="100" class="d-inline-block align-top" alt=""></a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarForCollapse" aria-controls="navbarForCollapse" aria-expanded="false" aria-label="Toggle navigation">       
          <span class="navbar-toggler-icon"></span>
          </button>
          <div class="collapse navbar-collapse" id="navbarForCollapse">
             <ul class="navbar-nav ml-auto">
                <li class="nav-item active">
                   <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href="#">About</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href="#">Our team</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href="#">Contact</a>
                </li>
                <li class="nav-item navbar-social">
                   <a href="#" class="fa fa-facebook mr-lg-2"></a>
                </li>
                <li class="nav-item navbar-social">
                   <a href="#" class="fa fa-twitter"></a>
                </li>
             </ul>
          </div>
       </div>
    </nav>

    【讨论】:

    • 好的,这解决了它们显示在“下拉列表”右侧的问题..但是当您调整大小并打开它时,它们仍然显示在下拉列表中。我不希望他们在那里
    • 好吧,如果您查看更新后的小提琴,图标仍会显示在折叠栏中:(
    • 我实际上是通过将其设置为 display: none; ...检查上面
    【解决方案2】:

    这与元素在页面上呈现的顺序有关。 折叠的菜单正在“取消隐藏”并将您的图标分流。

    只需将“navbar-social”div 放在“navbarForCollapse”div 之前。

    https://jsfiddle.net/16x8jhu4/9/

    <div class="navbar-social">
      <ul class="navbar-nav ml-auto">
        <li class="nav-item">
          <a href="#" class="fa fa-facebook mr-lg-2"></a>
        </li>
        <li class="nav-item">
          <a href="#" class="fa fa-twitter"></a>
        </li>
      </ul>
    </div>
    
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarForCollapse" aria-controls="navbarForCollapse" aria-expanded="false" aria-label="Toggle navigation">       
      <span class="navbar-toggler-icon"></span>
    </button>
    
    
    <div class="collapse navbar-collapse" id="navbarForCollapse">
      <ul class="navbar-nav ml-auto">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">About</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Our team</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Contact</a>
        </li>
      </ul>
    </div>
    

    【讨论】:

    • 对不起,但这并不能解决我的问题。它仍然显示在它的右侧
    • 对不起,我的错。我已为您更新(重新安排)我的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 2015-09-14
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多