html - Bootstrap 3,导航栏图标位置随着浏览器宽度的变化而变化

标签 html css twitter-bootstrap

.nav>li>a:hover,
.nav>li>a:focus .navbar-header>a:hover,
.navbar-header>a:focus {
  background-color: #7F613F;
}

.icon-color {
  color: #282828;
}

.nav {
  display: flex;
}

@media(max-width: 768px) {
  .nav>li {
    float: left
  }
}
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta charset="utf-8">
    <title>Demo</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
    <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
</head>

<body>
    <div class="navbar navbar-fixed-top" style="background-color: #b39369; max-height: 50px;">
        <div class="container-fluid">
            <div class="navbar-header">
                <button class="navbar-toggle navbar-right" type="button" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle</span>
                    <span class="icon-bar" style="background-color:#282828"></span>
                    <span class="icon-bar" style="background-color:#282828"></span>
                    <span class="icon-bar" style="background-color:#282828"></span>
                </button>
                <ul class="nav navbar-nav">
                    <li><a href="#"><i class="glyphicon glyphicon-comment icon-color"></i></a></li>
                    <li><a href="#"><i class="glyphicon glyphicon-list-alt icon-color"></i></a></li>
                    <li><a href="#"><i class="glyphicon glyphicon-user icon-color"></i></a></li>
                </ul>
            </div>
            <div class="collapse navbar-collapse">
                <form class="navbar-form navbar-left">
                    <div class="input-group input-group-sm" style="max-width:360px;">
                        <input class="form-control" placeholder="Search" name="srch-term" id="srch-term" type="text">
                        <div class="input-group-btn">
                            <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
                        </div>
                    </div>
                </form>
                <ul class="nav navbar-nav navbar-right">
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-cog icon-color"></i></a>
                        <ul class="dropdown-menu">
                            <li><a href="">More</a></li>
                            <li><a href="">More</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</body>

正如您在代码片段中看到的,我的代码在导航栏中包含导航栏和图标。

但是当我缩小导航栏或浏览器时,图标 glyphicon-comment, glyphicon-list-alt, glyphicon-user 变得很难看。

我希望这些图标保持不变,就好像浏览器足够宽一样。

这些图标离浏览器的左侧太近了。我不知道为什么会这样。

无论浏览器的宽度如何,我怎样才能让这些图标保持它们的位置。

只能折叠搜索栏和其他东西。 但其他的东西应该保持原来的位置。

无论浏览器的宽度如何,如何使这些图标固定在它们的位置?

最佳答案

确保您已将内容包装在一行中,然后还使用列来布置该行中的内容。

下面的内容现已更新以包括这两个内容,现在可以抵消移动视口(viewport)的负边距。

更多关于 Bootstrap 网格的信息:
https://www.w3schools.com/bootstrap/bootstrap_grid_system.asp

.nav>li>a:hover, .nav>li>a:focus .navbar-header>a:hover, .navbar-header>a:focus {
  background-color: #7F613F;
}
.icon-color {
  color: #282828;
}
.nav {
  display: flex;
}

@media (max-width: 768px) {
  .nav > li {
    float: left;
  }
}
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta charset="utf-8">
    <title>Demo</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
    <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
</head>

<body>
    <div class="navbar navbar-fixed-top" style="background-color: #b39369; max-height: 50px;">
        <div class="container-fluid">
            <div class="row">
                <div class="col-xs-12">
                    <div class="navbar-header">
                        <button class="navbar-toggle navbar-right" type="button" data-toggle="collapse" data-target=".navbar-collapse">
                            <span class="sr-only">Toggle</span>
                            <span class="icon-bar" style="background-color:#282828"></span>
                            <span class="icon-bar" style="background-color:#282828"></span>
                            <span class="icon-bar" style="background-color:#282828"></span>
                        </button>
                        <ul class="nav navbar-nav">
                            <li><a href="#"><i class="glyphicon glyphicon-comment icon-color"></i></a></li>
                            <li><a href="#"><i class="glyphicon glyphicon-list-alt icon-color"></i></a></li>
                            <li><a href="#"><i class="glyphicon glyphicon-user icon-color"></i></a></li>
                        </ul>
                    </div>
                    <div class="collapse navbar-collapse">
                        <form class="navbar-form navbar-left">
                            <div class="input-group input-group-sm" style="max-width:360px;">
                                <input class="form-control" placeholder="Search" name="srch-term" id="srch-term" type="text">
                                <div class="input-group-btn">
                                    <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
                                </div>
                            </div>
                        </form>
                        <ul class="nav navbar-nav navbar-right">
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-cog icon-color"></i></a>
                                <ul class="dropdown-menu">
                                    <li><a href="">More</a></li>
                                    <li><a href="">More</a></li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>

关于html - Bootstrap 3,导航栏图标位置随着浏览器宽度的变化而变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47093406/

相关文章:

javascript - Tiktok.com 和 Youtube shorts 如何自动滚动播放视频(在移动设备上)? react Javascript

使用 setTimeout() 的 JavaScript 计时事件

javascript - HTML/Javascript - 边框和对齐

html - 如何在 CSS 中进行宽度绑定(bind)

css - Bootstrap - 列表组项中的按钮

python - 使用 BeautifulSoup 从 svg 中抓取文本

javascript - jquery 的网站加载问题?

html - 选定的页面链接问题

javascript - v-for prop 值未使用 Bootstrap 模式更新

html - Bootstrap : Allow an image to extend on top of the DIV?