2012-03-12 25 views
32

Là kết quả của thủ thuật CSS như lề tiêu cực, đôi khi tôi có một số HTML được hiển thị bên dưới nội dung HTML xảy ra sau trong tài liệu HTML. Mặc dù các yếu tố ban đầu về mặt kỹ thuật nên ở bên dưới các phần tử sau, tôi muốn hiển thị các phần tử ở trên.Z-Index không có vị trí tuyệt đối

Có thể tạo phần tử HTML xuất hiện phía trên phần tử khác mà không phải chỉ định vị trí tuyệt đối không? Nó không xuất hiện mà chỉ số z có bất kỳ hiệu ứng mà không có một vị trí tuyệt đối.

Trả lời

58

Có: sử dụng position:relative; z-index:10.

z-index không có hiệu lực đối với position:static (mặc định).

Lưu ý rằng chỉ mục z không phải là hệ thống phân lớp toàn cầu, nhưng chỉ phân biệt thứ tự trong mỗi cha mẹ được định vị. Nếu bạn có:

<style type="text/css"> 
    div { position:relative } 
    #a { z-index:1 } 
    #a1 { z-index:99 } 
    #b { z-index:2 } 
</style> 
... 
<div id="a"><div id="a1">SUPER TALL</div></div> 
<div id="b">I WIN</div> 

... sau đó #a1 sẽ không bao giờ làm cho trên b, vì #b được xếp lớp trên #a. Bạn có thể xem bản trình diễn này tại số http://jsfiddle.net/DsTeK

+3

mặc định là tĩnh? wow, tôi nghĩ tất cả những năm này là tương đối – Jay

+0

Perfect-- cảm ơn. – GoldenNewby

+0

@GoldenNewby Bạn được chào đón. Tôi đã thêm một bản demo của điểm thứ hai của tôi vào câu trả lời. – Phrogz

10

Tôi biết câu trả lời của Phrogz đã được chấp nhận và câu trả lời hay nhưng chỉ dành cho bản ghi: bạn không cần phải luôn z-index.

Khi bạn có position:relative trên một phần tử, nó cũng sẽ được hiển thị trên đầu tất cả các phần tử khác không có position (hoặc position:static). Thậm chí nếu bạn không có bất kỳ chỉ mục z nào cả!

jsFiddle.

+0

Đó là một điểm tốt, nhưng với mục đích của tôi thì không sao. – GoldenNewby

+0

+1 cho điểm này và bản trình diễn. – rajkamal

+3

Chỉ để hoàn thành, một phần tử có vị trí tương đối và chỉ số z -1 sẽ đi bên dưới các phần tử tĩnh (mặc định) – rajkamal

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