2016-03-27 104 views
-2

如何創建均勻間隔和均勻大小的按鈕的水平列表?Bootstrap創建水平的按鈕列表,均勻間隔

本質上,「導航欄」必須跨越整個屏幕頁面的85%。在導航欄內,五個按鈕必須填滿整個空間,它們之間的間距應該相等。

最後,如果屏幕尺寸小於786像素寬度,我想讓它們垂直堆疊。

回答

1

Flexbox,就可以做到這一點:

nav { 
 
    width: 85%; 
 
    display: flex; 
 
    margin: auto; 
 
    justify-content: space-between; 
 
    border: 1px solid red; 
 
} 
 
a { 
 
    flex: 0 0 18%; 
 
    /* any width as long a % times number of items does not exceed 100% */ 
 
    height: 50px; 
 
    text-align: center; 
 
    background: #000; 
 
    color: white; 
 
    line-height: 50px; 
 
}
<nav> 
 
    <a href="#">Menu Item</a> 
 
    <a href="#">Menu Item</a> 
 
    <a href="#">Menu Item</a> 
 
    <a href="#">Menu Item</a> 
 
    <a href="#">Menu Item</a> 
 
</nav>

2

我希望this one是你正在努力實現的。

HTML

<nav> 

              <ul class="nav nav-justified"> 

                <li class="active"><a href="#">Home</a></li> 

                <li><a href="#">Projects</a></li> 

                <li><a href="#">Services</a></li> 

                <li><a href="#">Downloads</a></li> 

                <li><a href="#">About</a></li> 

                <li><a href="#">Contact</a></li> 

              </ul> 

</nav> 

CSS

.nav-justified { 

  background-color: #eee; 

  border: 1px solid #ccc; 

  border-radius: 5px; 

} 

.nav-justified > li > a { 

  padding-top: 15px; 

  padding-bottom: 15px; 

  margin-bottom: 0; 

  font-weight: bold; 

  color: #777; 

  text-align: center; 

  background-color: #e5e5e5; /* Old browsers */ 

  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e5e5e5)); 

  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%); 

  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%); 

  background-image: linear-gradient(to bottom, #f5f5f5 0%,#e5e5e5 100%); 

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#e5e5e5',GradientType=0); /* IE6-9 */ 

  background-repeat: repeat-x; /* Repeat the gradient */ 

  border-bottom: 1px solid #d5d5d5; 

} 

.nav-justified > .active > a, 

.nav-justified > .active > a:hover, 

.nav-justified > .active > a:focus { 

  background-color: #ddd; 

  background-image: none; 

  -webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.15); 

          box-shadow: inset 0 3px 7px rgba(0,0,0,.15); 

} 

.nav-justified > li:first-child > a { 

  border-radius: 5px 5px 0 0; 

} 

.nav-justified > li:last-child > a { 

  border-bottom: 0; 

  border-radius: 0 0 5px 5px; 

} 


@media (min-width: 768px) { 

  .nav-justified { 

    max-height: 52px; 

  } 

  .nav-justified > li > a { 

    border-right: 1px solid #d5d5d5; 

    border-left: 1px solid #fff; 

  } 

  .nav-justified > li:first-child > a { 

    border-left: 0; 

    border-radius: 5px 0 0 5px; 

  } 

  .nav-justified > li:last-child > a { 

    border-right: 0; 

    border-radius: 0 5px 5px 0; 

  } 

} 
+0

幾乎,是否有創建按鈕之間均勻間距的好方法?看起來他們正在使用表格來對齊他們的元素。我仍然可以分開我的按鈕嗎? – wayway

+0

離開li項目,併爲li> a鏈接提供保證金(如保證金:0 20px;)。 – Melih

+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/11787056) – Panther

0

它將聽起來很明顯,但你可以做的一切,與CSS。只需選擇合適的容器並根據需要塑造它們。所以如果你選擇li元素,例如你可以設置200px的寬度,並且它們都是相同的大小。你也可以使用簡單的.collapse類引導的,如果你要收集他們一個按鈕下或使用@media查詢,這樣做:

@media only screen and (max-width: 768px) { 
    li { 
display: block; 
    } 
}