【问题标题】:Bootstrap navigation bar not right when collapsed折叠时引导导航栏不正确
【发布时间】:2016-11-20 17:53:59
【问题描述】:

所以我更改了 css,使导航栏的高度与徽标的高度相匹配。效果很好,但是当我将其折叠到移动视图时,有一条线让我很困扰,请看图片:

这是普通的桌面版本:

这是折叠的移动视图:

当我按下汉堡菜单时,这是折叠的移动视图。 这是问题所在,灰线出来了

这是我的html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title> Mobtech </title>

        <!--Ubaci bootstrap css -->
        <link rel="stylesheet" href="css/bootstrap.min.css">
        <link rel="stylesheet" href="css/style.css">

    </head>
    <body>
        <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-container">
                        <span class="sr-only"> Pokazi i sakrij navigaciju </span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="#">
                        <img src="Slike/logo.png" alt="LogoSlika"/>
                    </a>
                </div> 
                <div class="collapse navbar-collapse" id="navbar-container">
                    <ul class="nav navbar-nav navbar-right">
                        <li class="active"><a href="#"> Početna strana </a> </li>
                        <li><a href="#"> Privatni korisnici </a> </li>
                        <li><a href="#"> Poslovni korisnici </a> </li>
                        <li><a href="#"> Uređaji </a> </li>
                        <li><a href="#"> O Nama </a> </li>
                    </ul>
                </div>
            </div>
        </nav>

        <br />
            <div class="container"> <!--Container -->

                <div class="row">
                    <!-- Kolona na velikom ekranu (lg) prikazuje duzinu jedne kolone, Ekstra small (xs) prikazuje 4 kolone -->
                    <div class="col-lg-12 bg-success"> 
                        <p> Outer div </p>
                        <div class="col-lg-6 bg-primary">
                            <p> Inner div </p>
                        </div>
                    </div>
                </div>
            </div>




            <!-- JavaScript fajl -->
            <script src="js/jquery.min.js"></script>
            <!-- Kompresovan JavaScript fajl -->
            <script src="js/bootstrap.min.js"></script>


            <!-- bg-warning = Pozadina zuta -->
    </body>
</html>

这是我的 CSS:

    .navbar-default .navbar-nav>li>a  {
    padding: 21px 15px 21px 15px;
}
.navbar-default .navbar-brand {
    padding-top: 0px;
}

@media (max-width: 767px) {
    .navbar-nav > li > a {
    line-height: 21px;
    padding-top: 10px;
    padding-bottom: 10px;}
}

@media (max-width: 767px) {
    .navbar-default {
    line-height: 21px;
    padding-top: 0px;
    padding-bottom: 11px;}
}

【问题讨论】:

  • .navbar 具有默认的最小高度:50px。因此,您可以设置徽标图像的最大高度。像这样:.navbar-brand > img{ max-height: 45px }

标签: html css twitter-bootstrap navbar nav


【解决方案1】:

这是解决方案:

  1. 打开 bootstrap.min.css 文件
  2. 搜索此代码:

    container-fluid>.navbar-collapse,
    .container-fluid>.navbar-header,
    .container>.navbar-collapse,
    .container>.navbar-header {
        margin-right:-15px;
        margin-left:-15px
    
    }
    
  3. 在上述代码末尾添加height:150px

    添加代码后可能是这样的:

    container-fluid>.navbar-collapse,
    .container-fluid>.navbar-header,
    .container>.navbar-collapse,
    .container>.navbar-header {
        margin-right:-15px;
        margin-left:-15px;
        height:150px;
    }
    
  4. 然后保存并再次检查。

【讨论】:

  • 我并不是说这行不通,但不是一个好方法。使用 CSS 的级联行为覆盖是一个更好的选择。
  • 更改现成库的代码和硬编码用户所需的属性,是非常糟糕的做法,应始终避免。相反,您可以建议通过添加 &lt;style&gt; 元素或新的 CSS 文件来覆盖这些属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 2013-09-20
相关资源
最近更新 更多