如何在Bootstrap 4中将按钮对齐到右侧

8

我在这里尝试搜索,但是找不到任何与这个具体问题相关的内容。

我正在尝试制作一个标题,左右两侧有一个按钮,中间有一个logo,但是每当我使窗口变小或变大时,右侧的按钮就无法保持对齐。

小窗口

大窗口

以下是代码:

<header>
        <div id="container-fluid">
            <div class="row">               
                <div class=" col-2">
                    Menu
                </div>
                <div class="col-8 text-center ">
                    Logo
                </div>
                <div class="col-2 float-right">
                    Contact
                </div>
            </div>
        </div>            
     </header>

我在这里漏掉了什么?

提前感谢。


问题已解决,代码现在如下:

    <body> 
    <header>
        <div id="container-fluid">
            <div class="row">               
                <div class="col">
                    <span class="float-left">Menu</span>
                </div>
                <div class="col text-center">
                    Logo                       
                </div>
                <div class="col">
                    <span class="float-right">Contact</span>
                </div>
            </div>
        </div>            
     </header>          
</body>

3个回答

7

将您的内容包装起来,以便根据父容器进行对齐。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>

<header>
  <div id="container-fluid">
    <div class="row">
      <div class="col-2">
        <span class="float-left">Menu</span>
      </div>
      <div class="col-8 text-center">
        Logo
      </div>
      <div class="col-2">
        <span class="float-right">Contact</span>
      </div>
    </div>
  </div>
</header>


@NathanRuth 很酷 =D - Dalin Huang

3
你可以使用flex-bootstrap-classjustify-content来实现这种方法:

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">

<div class="container">
  <div class="row d-flex justify-content-between bg-light">
    <div class="p-2 bg-dark text-light">
      Menu
    </div>
    <div class="p-2 bg-dark text-light">
      Logo
    </div>
    <div class="p-2 bg-dark text-light">
      Contact
    </div>
  </div>
</div>


2

您没有定义使用哪种列网格的大小。对于特定的代码,使用col-xs、col-sm、col-md、col-lg会产生不同的效果。在下面的完整页面中运行片段代码,看看当浏览器调整大小时,col-size会如何影响。

更新 - Bootstrap 4已将col-xs替换为col-。

<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">

<div id="container-fluid">
  Col:xs
  <div class="row">
    <div class=" col-2">
      Menu
    </div>
    <div class="col-8 text-center ">
      Logo
    </div>
    <div class="col-2 float-right">
      Contact
    </div>
  </div>
</div>
<br>
<br>

<div id="container-fluid">
Col:sm
  <div class="row">
    <div class=" col-sm-2">
      Menu
    </div>
    <div class="col-sm-8 text-center ">
      Logo
    </div>
    <div class="col-sm-2 float-right">
      Contact
    </div>
  </div>
</div>
<br>
<br>

<div id="container-fluid">
Col:md
  <div class="row">
    <div class=" col-md-2">
      Menu
    </div>
    <div class="col-md-8 text-center ">
      Logo
    </div>
    <div class="col-md-2 float-right">
      Contact
    </div>
  </div>
</div>
<br>
<br>


<div id="container-fluid">
Col:lg
  <div class="row">
    <div class=" col-lg-2">
      Menu
    </div>
    <div class="col-lg-8 text-center ">
      Logo
    </div>
    <div class="col-lg-2 float-right">
      Contact
    </div>
  </div>
</div>


仍然无法正常工作,它应该在任何屏幕尺寸下都紧贴页面的右侧。 - Nathan Ruth
你不能仅使用container-fluid并定义列网格大小来使其粘在右侧。它们会根据设备或浏览器的屏幕尺寸而变化。如果你想实现这个效果,为什么不使用简单的flexbox和float呢? - user7207170

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接