2017-12-17 128 views
9

Tôi muốn có nhãn cho menu thả xuống bên cạnh trình đơn thả xuống.Twitter Boostrap - Căn chỉnh nhãn theo chiều ngang để thả xuống

tìm thấy bên dưới như thế nào ví dụ hiện tại của tôi trông giống như:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 
<ul class="nav nav-pills" role="tablist"> 
 
    <li role="presentation">Order: </li> 
 
    <li role="presentation" class="dropdown"> 
 
    <a href="#" class="dropdown-toggle" id="drop4" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Ticker<span class="caret"></span></a> 
 
    <ul class="dropdown-menu" id="menu1" aria-labelledby="drop4"> 
 
     <li> 
 
     <a href="#">Action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Another action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Something else here</a> 
 
     </li> 
 
     <li role="separator" class="divider"></li> 
 
     <li> 
 
     <a href="#">Separated link</a> 
 
     </li> 
 
    </ul> 
 
    </li> 
 
</ul>

Bất kỳ lời đề nghị làm thế nào để sắp xếp các nhãn với menu thả xuống đúng?

Thx trước!

Trả lời

6

Tôi không chắc mình hiểu chính xác, nhưng để căn chỉnh, tôi sẽ sử dụng flexbox.

.nav-pills { 
 
    display: flex; 
 
    align-items: center; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<ul class="nav nav-pills" role="tablist"> 
 
    <li role="presentation">Order: </li> 
 
    <li role="presentation" class="dropdown"> 
 
    <a href="#" class="dropdown-toggle" id="drop4" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> 
 
          Ticker 
 
           <span class="caret"></span> 
 
          </a> 
 
    <ul class="dropdown-menu" id="menu1" aria-labelledby="drop4"> 
 
     <li> 
 
     <a href="#">Action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Another action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Something else here</a> 
 
     </li> 
 
     <li role="separator" class="divider"></li> 
 
     <li> 
 
     <a href="#">Separated link</a> 
 
     </li> 
 
    </ul> 
 
    </li>

+0

Great câu trả lời, chắc chắn được phiếu bầu của tôi. Một tùy chọn khác là 'align-items: baseline' trong trường hợp bạn không muốn căn giữa nội dung. Vấn đề cốt lõi ở đây là bạn đang cố gắng căn chỉnh một mục không có đệm dọc với một mục có nhiều đệm. Flexbox là một trong những cách tốt nhất để xử lý các tình huống như thế này. – dmbaughman

3

Bạn chỉ có thể thêm đệm như thế này:

/* Optional theme */ 
 

 
@import url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'); 
 

 
ul.nav > li:first-child { 
 
padding:10px 5px; 
 
}
<ul class="nav nav-pills" role="tablist"> 
 
    <li role="presentation" >Order: </li> 
 
    <li role="presentation" class="dropdown"> 
 
    <a href="#" class="dropdown-toggle" id="drop4" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> 
 
          Ticker 
 
           <span class="caret"></span> 
 
          </a> 
 
    <ul class="dropdown-menu" id="menu1" aria-labelledby="drop4"> 
 
     <li> 
 
     <a href="#">Action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Another action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Something else here</a> 
 
     </li> 
 
     <li role="separator" class="divider"></li> 
 
     <li> 
 
     <a href="#">Separated link</a> 
 
     </li> 
 
    </ul> 
 
    </li>

+0

Đây chắc chắn là giải pháp đơn giản nhất trong số tất cả các khuyến nghị. – doppl3r

4

Chỉ cần thêm dưới đây css trong file css tùy chỉnh của bạn

.nav-pills>li:not(.dropdown) { 
    padding: 10px 12px; 
} 

.nav-pills>li:not(.dropdown) { 
 
    padding: 10px 12px; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 
<ul class="nav nav-pills" role="tablist"> 
 
    <li role="presentation">Order: </li> 
 
    <li role="presentation" class="dropdown"> 
 
    <a href="#" class="dropdown-toggle" id="drop4" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Ticker<span class="caret"></span></a> 
 
    <ul class="dropdown-menu" id="menu1" aria-labelledby="drop4"> 
 
     <li> 
 
     <a href="#">Action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Another action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Something else here</a> 
 
     </li> 
 
     <li role="separator" class="divider"></li> 
 
     <li> 
 
     <a href="#">Separated link</a> 
 
     </li> 
 
    </ul> 
 
    </li> 
 
</ul>

1

Tôi thích giải pháp display: flex Gerard của tốt hơn, nhưng chỉ trong trường hợp bất kỳ ai thích duy trì thuộc tính hiển thị ban đầu, dưới đây là ví dụ chỉ sử dụng line-height để theo chiều dọc trung tâm cả hai .nav-pills.

<style> 
 
    .nav-pills > li { 
 
     line-height: 40px; 
 
    } 
 
    .nav.nav-pills > li > a { 
 
     /* removes top & bottom padding */ 
 
     padding: 0 15px; 
 
    } 
 
</style> 
 

 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 
<ul class="nav nav-pills" role="tablist"> 
 
    <li role="presentation">Order: </li> 
 
    <li role="presentation" class="dropdown"> 
 
    <a href="#" class="dropdown-toggle" id="drop4" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Ticker<span class="caret"></span></a> 
 
    <ul class="dropdown-menu" id="menu1" aria-labelledby="drop4"> 
 
     <li> 
 
     <a href="#">Action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Another action</a> 
 
     </li> 
 
     <li> 
 
     <a href="#">Something else here</a> 
 
     </li> 
 
     <li role="separator" class="divider"></li> 
 
     <li> 
 
     <a href="#">Separated link</a> 
 
     </li> 
 
    </ul> 
 
    </li> 
 
</ul>

Các vấn đề liên quan