簡體   English   中英

如何制作水平導航欄

[英]How to make a horizontal navigation bar

我正在嘗試制作一個水平導航欄,其中一些項目向左拉,其他項目則向右拉。 當我嘗試使用此代碼執行此操作時,將所有項目放在屏幕的左上角可以有人幫忙嗎?

 .nav li { display: inline; } 
 <div class="nav"> <div class="container"> <ul class="pull-left"> <li><a href="#">Home</a></li> <li><a href="#">How to</a></li> </ul> <ul class="pull-right"> <li><a href="#">Sign Up</a></li> <li><a href="#">Log In</a></li> <li><a href="#">Help</a></li> </ul> </div> </div> 

您可以嘗試的另一種方法是將兩個邊放在各個分區中,並且每個方法都顯示為內聯塊。 然后使用邊距拆分它們。 根據您的偏好設置面向外邊距,將面向邊緣設置為“自動”,它自然會將其測量出來。 所以它會是這樣的:

<div class="nav">
  <div class="container pull-left">
    <ul class="#">
      <li><a href="#">Home</a></li>
      <li><a href="#">How to</a></li>
    </ul>
  </div>
  <div class="container pull-right">
    <ul class="#">
      <li><a href="#">Sign Up</a></li>
      <li><a href="#">Log In</a></li>
      <li><a href="#">Help</a></li>
    </ul>
  </div>
</div>

我已經給了它每個自己的容器並將pull動作(和類)放在div而不是列表中;

.nav {
    display: block;
    /*^This would be default^*/
    width: 100%
}

.pull-left {
    display: inline-block;
    margin: Apx auto Apx Bpx;
}

.pull-right {
    display: inline-block;
    margin: Apx Bpx Apx auto;
}

我比定位列表更喜歡這個,因為他們過去給了我一些問題; 這也不需要浮動,這不會轉換為舊的瀏覽器,我被告知,雖然我永遠不會測試這樣的自己。

此外,使用此方法時,我建議您從一開始就設置它:

.body * {
  font-size: 0px;
}

.text { /*Class all CONTAINERS of
          text items this, just one
          level up, but not the
          text itself */
  font-size: 14px;
 }

這將消除任何空白問題,因為我已經發生在我身上(通常這將是左傾的一側被空的空間推下,而右側將被推高相同的數量,但從在底部,所以它們不會是水平的。這樣,這些空間是0px而已。只是一個建議。

您似乎正在使用Bootstrap ,當您忘記添加引導鏈接時會出現此問題。

引導鏈接

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">

<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

添加這個可以解決您的定位問題。

 .nav li { display: inline; } 
 <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> <!-- jQuery library --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <!-- Latest compiled JavaScript --> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <div class="nav"> <div class="container"> <ul class="pull-left"> <li><a href="#">Home</a></li> <li><a href="#">How to</a></li> </ul> <ul class="pull-right"> <li><a href="#">Sign Up</a></li> <li><a href="#">Log In</a></li> <li><a href="#">Help</a></li> </ul> </div> </div> 


Alternitavely

您也可以定義pull-leftpull-right在您的自定義CSS文件,如下所示:

.nav li {
    display: inline;
}
.pull-left { 
    float: left; 
}
.pull-right { 
    float: right; 
}

這也將解決問題。

希望這可以幫助!

您已為左拉和右拉類設置浮點屬性。 還要在ul.pull-right之后添加一個div來清除浮點數,這樣ul.pull-right之后的元素就不會浮動。

看這里:

 .nav li { display: inline; } .pull-left { /* added */ float: left; } .pull-right { /* added */ float: right; } .clear { /* added */ clear: both; } 
 <div class="nav"> <div class="container"> <ul class="pull-left"> <li><a href="#">Home</a></li> <li><a href="#">How to</a></li> </ul> <ul class="pull-right"> <li><a href="#">Sign Up</a></li> <li><a href="#">Log In</a></li> <li><a href="#">Help</a></li> </ul> <div class="clear"></div> <!-- added --> <p>test</p> </div> </div> 

您可能希望將Bootstrap鏈接添加到項目中,如下所示:

 .nav li { display: inline; } 
 <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> <!-- jQuery library --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <!-- Latest compiled JavaScript --> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <div class="nav"> <div class="container"> <ul class="pull-left"> <li><a href="#">Home</a></li> <li><a href="#">How to</a></li> </ul> <ul class="pull-right"> <li><a href="#">Sign Up</a></li> <li><a href="#">Log In</a></li> <li><a href="#">Help</a></li> </ul> </div> </div> 

你可以嘗試這個:

.nav li {
    display: inline;
}

.pull-left  { 
display: inline-block;

}
.pull-right  { 
display: inline-block;

}

在這里演示

那個怎么樣?

  .nav li { display: inline; width:100% margin:1%; } a{ text-decoration:none; } .pull-left{ float:left; } .pull-right{ float:right; } 
 <div class="nav"> <div class="container"> <ul class="pull-left"> <li><a href="#">Home</a></li> <li><a href="#">How to</a></li> </ul> <ul class="pull-right"> <li><a href="#">Sign Up</a></li> <li><a href="#">Log In</a></li> <li><a href="#">Help</a></li> </ul> </div> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM