2011-09-12 27 views
6

Tôi có một vị trí tuyệt đối và div với vị trí tương đối. div đầu tiên chứa các liên kết và số div thứ hai chứa một số nội dung vượt quá div đầu tiên. Số div đầu tiên có số z-index trong số 1, trong khi số thứ hai có số z-index của -1 và số div đầu tiên cũng được khai báo trước.Các liên kết không hoạt động với vị trí tuyệt đối

Mặc dù, các liên kết trong div đầu tiên không thể nhấp được. Bây giờ tôi có ý tưởng, tại sao điều này là như vậy.

Fiddle

Cả side1side2 sẽ có một hình nền. Và nội dung sẽ xuất hiện ở hai bên, nhưng các liên kết vẫn hoạt động.

Second fiddle

+1

Với chỉnh sửa của bạn, bạn không thể làm cho nó hoạt động như thế với HTML bạn đã cung cấp - điều đó sẽ phải thay đổi. Bạn có '.side1' sẽ xuất hiện bên dưới' # content', nhưng bạn muốn '.side1 # books' xuất hiện phía trên' # content' - điều đó sẽ không hoạt động. Nếu bạn di chuyển '# books' ouside của' .side1' nó trở nên khá dễ dàng để có được nó thiết lập như thế nào (tôi nghĩ) bạn muốn nó, là OK? Xem http://jsfiddle.net/3d7bc/ – Joe

Trả lời

14

Hoặc thay đổi .sidez-index: 1, hoặc thay đổi #containermargin-top: 150px thay vì padding-top.

#booksz-index trong tổng số 1, nhưng nó bên trong một container với một z-index là -1, vì vậy nó vẫn kết thúc dưới #container trong đó có z-index: -1 nhưng bị trả lại sau (do đó trên).

+0

Xem chỉnh sửa xin vui lòng – Tyilo

+0

+1 z-index thực sự làm việc tự hỏi khi một thẻ được chứa trong một vị trí: phần tử tuyệt đối (vị trí: tương đối của thẻ cũng cần thiết cho kịch bản của tôi). – eglasius

0

các liên kết không thể nhấp được vì thẻ div vượt quá nó.

Thẻ này:

<div class="side side2"></div> 

cung cấp cho các yếu tố .side2 một z-index thấp để ẩn nó.

+0

Không thay đổi bất cứ điều gì – Tyilo

3

Trong mã của bạn, bạn có

  z-index: -1; 
      position: absolute; 

Tôi nghĩ rằng đây là lý do. Thay đổi số -1 thành 1 khắc phục. Không chắc chắn nếu tôi bỏ lỡ điều gì đó, nếu có, vui lòng giải thích trong phần nhận xét và/hoặc cập nhật câu hỏi.

0

Div đầu tiên và div thứ hai của bạn, cả hai đều chia sẻ lớp .side, được xác định bằng z-index: -1. Vì vậy, cả hai đều trên cùng một cấp độ ngăn xếp và một trong đó đến cuối cùng trong đánh dấu sẽ được trên đầu trang của trước đó. Tất cả những gì bạn phải làm là cung cấp cho .side1 chỉ số z lớn hơn -1.

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