2011-11-28 39 views
6

Tôi đang sử dụng chỉ mục z trên trang của mình (-link không còn cần thiết nữa) và nó không hoạt động chính xác: nó không đặt một số div trên tất cả các loại khác.CSS - z-index không hoạt động chính xác

Bạn có thể tự mình xem bằng cách nhấp vào một trong các mục ở bên trái hoặc thanh bên phải. Sau đó, mặt nạ sẽ mờ dần, nhưng hiển thị hộp tin nhắn, bên dưới nó. Tôi đã thử rất nhiều, nhưng tôi chỉ không thể nhận được hộp thông báo hiển thị ở trên tất cả những người khác ...

Tôi có thể làm gì để sửa lỗi này?[lưu ý: 2 câu hỏi dưới đây]

Nếu bạn không muốn kiểm tra trang, hộp thông báo nằm trong một số divs khác:

<div> 
<div> 
    <div>message box</div> 
</div> 
</div> 

CSS định vị là như thế này:

.window { 
    position: fixed; 
    left: 0px; 
    top: 0px; 
    z-index: 100; 
} 

tôi sử dụng vị trí: cố định, bởi vì vị trí: tuyệt đối không phải là tuyệt đối ở đây, các div là không phù hợp với cơ thể, nhưng cái gì khác bằng cách nào đó. Có cách nào để đặt lại vị trí và đặt lại vị trí tuyệt đối không?

+11

chỉ mục z chỉ hoạt động khi được áp dụng cho các thành phần có cùng loại định vị. Vì vậy, nếu một phần tử ra khỏi dom thông qua tuyệt đối hoặc một số vị trí khác thì chỉ mục z của nó sẽ không liên quan đến các phần tử khác trong dom nhưng chỉ với các phần tử có cùng loại định vị. – Ryan

+0

Oh ok, vậy một đối tượng cố định không thể chồng lấp một đối tượng tuyệt đối? – laarsk

+2

đúng bởi vì theo chỉ số z và dom chúng thực sự không liên quan đến nhau và trên thực tế bởi vì một đối tượng tuyệt đối nằm ngoài dom, cái cố định thậm chí còn không biết nó ở trên đầu nó. – Ryan

Trả lời

2

Nếu bạn đang sử dụng jquery kiểm tra top Z Index Plug In, bạn có thể áp dụng nó khi đối tượng có một con chuột qua sự kiện như:

<div id="modal" onmouseover="$(this).topZIndex();"></div> 

Sau đó, thay đổi vị trí để tuyệt đối với jquery cũng hoặc ngược lại:

$(document).ready(function(){ $('#modal').css('position','absolute'); }); 
+0

Hmmm, it doesnt seem để làm việc ... Tôi đã bao gồm trong một kịch bản jQuery, nhưng bây giờ nó mang lại cho tôi những lỗi mà launchWindow không được xác định ... bất kỳ đầu mối phải làm gì? Ngoài ra, vị trí cần phải được 'cố định', như tôi đã mô tả ở trên – laarsk

+1

Bây giờ tôi đã đặt dòng '' phía trên tập lệnh khác và không có lỗi nào khác hiển thị. Tuy nhiên, vấn đề z-index vẫn giống nhau ... – laarsk

+0

Là div bên trong iframe hoặc div khác? – raphie

1

screenshot

nếu bạn loại bỏ z-index từ #leftbar nó sửa chữa vấn đề của bạn. Vị trí không quan trọng, miễn là bạn có.

+0

Thật không may, chỉ mục z cần thiết cho phần còn lại của trang: (Có lẽ bạn biết một giải pháp khác? – laarsk

+0

khi bạn mở cửa sổ bật lên, xóa #leftbar z-index, khi bạn đóng cửa sổ bật lên, thêm lại. :) – Michael

+0

một giải pháp khác sẽ có bố trí 3 cột nơi bản đồ của bạn không phải là 100% chiều rộng, sau đó bạn sẽ không cần z-index trên cột. – Michael

18

Miễn là tôi có thể nhớ, các vấn đề về chỉ mục z thường xuất phát từ thực tế hơn là bố mẹ của các phần tử được lập chỉ mục z không được định vị. Bố mẹ anh chị em nên được định vị.

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