2012-06-29 38 views
5

Tôi đang tạo menu thả xuống css thuần túy (mã ở đây: http://jsfiddle.net/SeXyv/7/) và tôi chỉ muốn có đường viền quanh bên ngoài chứ không phải ở giữa các mục.Đường viền menu thả xuống CSS tinh khiết xung quanh bên ngoài chỉ

Vấn đề tôi gặp phải là ranh giới giữa "chủ đề" và "chủ đề phụ 1" trong ví dụ js.fiddle. Tôi có thể có được một đường viền tất cả các cách giữa hai, nhưng tôi chỉ muốn nó trên phần trên bên phải như một phác thảo, không trực tiếp giữa hai liên kết (nơi vàng và xám đáp ứng)

Bất cứ ai có thể giúp tôi ra đây?

Cảm ơn

EDIT: đây là một pic về những gì tôi muốn biên giới, phần vòng tròn màu đỏ, với biên giới dừng lại khi nó đạt đến tab ở trên nó: http://tinypic.com/view.php?pic=300ehxt&s=6

+1

Bạn có biết bạn có thể hiển thị người dùng: "không"; và hiển thị: "chặn" để hiển thị và ẩn menu thay vì di chuyển -9999px khỏi cửa sổ – jao

+1

@jao: Nhưng sau đó trình đọc màn hình sẽ không thể đọc các menu ẩn. –

+0

@Truth: Tôi không biết điều đó. Tôi đoán bạn học được một vài thứ mới mỗi ngày. – jao

Trả lời

4

Về cơ bản bạn đặt một biên giới phía dưới trên yếu tố cuối cùng trong menu thả xuống và một biên giới hàng đầu trên các yếu tố đầu tiên, sau đó cho phép các yếu tố kích hoạt trình đơn thả xuống có giá trị z-index cao hơn menu, sau đó đẩy menu lên chiều rộng của menu

#menu li:hover a {/*increace the z-index over that of the menu*/ 
    ... 
    position:relative; 
    z-index:5; 
} 
#menu li:hover li:first-child a{/*first menuitem gets a top border */ 
    border-top:2px black solid; 
} 
#menu li:hover li:last-child a{/*last menuitem gets a bottom border */ 
    border-bottom:2px black solid; 
} 
#menu li:hover ul{/* move up menu to cover up part of top border*/ 
    position:relative; 
    top:-2px; 
} 

http://jsfiddle.net/SeXyv/14/

+0

+1 cho câu trả lời thậm chí tôi đang làm như vậy trong fiddle của tôi. Nhưng tôi phải nói rằng mã có thể được cải thiện & sạch hơn và ngắn hơn. Nói gì ?? – SVS

+0

cảm ơn rất nhiều musa :) :) – user1490248

+0

Mã có thể sạch sẽ hơn và ngắn hơn, điều này sẽ liên quan đến việc viết lại mã op, tôi chỉ cần thêm những gì cần thiết để giải quyết vấn đề hiện tại – Musa

0

thêm <li style="z-index: 5"><a href="#" class="bordertest" >Topic</a> để HTML của bạn. Và thêm lớp được yêu cầu.

Working fiddle here

Điều chỉnh các góc, vv

+0

Bạn đã có những gì anh ta muốn hỏi? Hoàn toàn hiểu lầm. –

+0

Tôi đoán anh ấy chỉ muốn áp dụng đường viền cho "Chủ đề" chứ không áp dụng "chủ đề phụ". – xan

+0

Không, ông muốn áp dụng biên giới trên góc phải của chủ đề phụ UL. –

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