提问者:小点点

如何在不影响网页响应性的情况下,将搜索栏放在导航栏的中央?


我对CSS和HTML很陌生,所以我在为我的学校项目设计网页时遇到了一些困难。

目前我正在尝试在导航栏的中间插入一个搜索栏。 但是,我只能设置在左边或右边的酒吧。 我在其他网站找到代码来覆盖引导css代码,并将搜索栏移到页面中间,但当显示屏幕较小时,搜索栏不适合下拉菜单。 网页视图下拉菜单视图

这是我用来设计网页的html文件。

null

<!DOCTYPE html>
<html lang="en">
<head>
  <title>{% block title %} {% endblock %} - Snaplost</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
  <link href="https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@700&display=swap" rel="stylesheet">
  <link href="{{ url_for('static', filename='style.css' )}}" rel="stylesheet">  
  <link href="https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@700&display=swap" rel="stylesheet">

</head>
<body>

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>                        
      </button>
      <a class="navbar-brand" href="{{ url_for('home') }}">Snaplost.</a>
    </div>
    
      <ul class="nav navbar-nav navbar-center">
		<form class="navbar-form navbar-center" role="search">
        	<div class="form-group input-group">
          	<input type="text" class="form-control" placeholder="Search..">
          	<span class="input-group-btn">
            	<button class="btn btn-default" type="button">
            	<span class="glyphicon glyphicon-search"></span>
            </button>
          	</span>        
        	</div>
      	</form>
       </ul>

      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Login</a></li>
        <li><a href="#">Register</a></li>
      </ul>
      
    </div>
  </div>
</nav>

<div class="container">    
	{% block content %} {% endblock %}  
</div>

<script src=""https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>


</body>
</html>

null

有谁能建议或帮助我解决这个问题吗? 谢谢!


共1个答案

匿名用户

我想你是在问如何确保它保持在顶部,而不是绕到一个新的线?

如果是这样的话,flexbox可能是你最好的朋友。 如果您在父div上使用“display:flex”,它将强制所有内容停留在一行中,除非您使用“flex-wrap:wrap”属性。 然后,您可以设置您希望每个元素在这一行内容中所占的宽度,flex-grow也是一种可能性。

关于Flexbox的精彩信息:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

希望有帮助!