2013-04-23 42 views
15

Làm cách nào để thay đổi hướng của Twitter Bootstrap dropdown?Thay đổi hướng của menu thả xuống Bootstrap

Tôi có một thả xuống như thế này:

What I have

Nhưng tôi muốn nó trông như thế này:

What I want

+0

nào bạn muốn thực tế "** Thả xuống v **" để được ở bên phải, nhưng khi bạn mở nó vào mũi tên của danh sách mở ở bên trái? –

+0

Chỉ cần thêm một lớp nữa '.navbar .nav> li> .dropdown-menu.dropdown-menu-fixed: sau, .navbar .nav> li> .dropdown-menu.dropdown-menu-fixed: trước {left: auto ; phải: 10px;} '. Đó là nó. – dfsq

Trả lời

14

Sử dụng pull-right hoặc pull-left lớp.

+2

kéo-phải sẽ buộc toàn bộ danh sách thả xuống được hiển thị ở bên phải của phụ huynh –

+1

@ParvSharma và đó chính xác là những gì anh ta muốn – slash197

+2

anh ta chỉ muốn mũi tên trên cùng được hiển thị ở phía bên kia –

-1

Dường như không có tùy chọn trong Twitter Bootstrap để xử lý chỉ đường trên menu thả xuống. Tất cả những gì có một số ảnh hưởng đến vị trí của mũi tên là lớp này .navbar .nav > li > .dropdown-menu:before Hãy thử không quan trọng với nó để xem những thay đổi theo hướng thả xuống

2

transform: rotateY hoặc -webkit-transform:rotateY sẽ làm các trick, hãy áp dụng nó cho các trình đơn thả xuống;

navbar .pull-right > li > .dropdown-menu, .navbar .nav > li > .dropdown-menu.pull-right { 
    -webkit-transform: rotateY(180deg); 
} 

Hoặc bạn có thể chèn này vào .dropdown-menu hoặc .open > .dropdown-menu lớp do rquirement chính xác của bạn. Bây giờ có vẻ như:

drop1

Như có thể thấy tất cả các liên kết cần được hoàn nguyên do đó, nó đơn giản để làm với cùng một quy tắc CSS:

.dropdown-menu > li > a { 
    -webkit-transform: rotateY(180deg); 
} 

Bây giờ nó trông như:

drop2

Cần dọn dẹp một chút thông qua thay đổi vị trí của menu thả xuống theo left:10px; và nó sẽ giống như exactl y làm thế nào bạn muốn:

final result

+1

Bò thánh. Rất sáng tạo, nhưng thư viện đã hỗ trợ nó thông qua các lớp 'pull-xxx' trên chính trình đơn. – Joshua

+0

@Joshua Tôi được thông báo rằng thư viện có 'pull-xxx' vì tôi biết rằng có một thư viện có tên là Bootstrap. Nhưng đọc cẩn thận yêu cầu của op và câu trả lời của tôi cung cấp để lật mũi tên trên của hình chữ nhật. –

+0

Giải pháp của bạn vẫn còn lúng túng (nhưng sáng tạo!). Sẽ tốt hơn nếu ghi đè CSS của menu thả xuống, điều chỉnh vị trí của chính mũi tên. Biến đổi tạo ra tải CPU đáng kể hơn và cũng có thể đưa ra các lỗi. – Joshua

19

Từ http://getbootstrap.com/components/#dropdowns-alignment:

Không dùng nữa .pull bên phải liên kết
Tính v3.1.0, chúng tôi đã bị phản đối .pull bên phải trên các menu thả xuống. Để căn chỉnh menu, hãy sử dụng .dropdown-menu-right. Các thành phần điều hướng phù hợp trong thanh điều hướng sử dụng phiên bản kết hợp của lớp này để tự động căn chỉnh menu. Để ghi đè lên, hãy sử dụng .dropdown-menu-left.

Trong trường hợp của bạn, hãy thêm dropdown-menu-right lớp vào div có lớp dropdown-menu sẽ thực hiện thủ thuật.

5

Ở đây nó được (sử dụng thả xuống menu bên phải):

<ul class="dropdown-menu dropdown-menu-right"> 
    <li><a href"#">Action</a></li> 
    <li><a href="#">Another action</a></li> 
<ul> 
Các vấn đề liên quan