2015-06-10 14 views
16

Tôi đang cố gắng sử dụng tập lệnh particles.js, vì vậy các hạt sẽ trôi nổi trên toàn bộ trang (với nền trong suốt). Tôi cần phải kéo một số các liên kết và các nút trên các hạt, vì vậy họ sẽ có thể nhấp.Đặt các nút và liên kết qua tập lệnh particle.js (chỉ mục Z)

Liên quan đến link, tôi có thể đặt phần tử "C" lớn hơn phần tử "B" lớn trong khi có phần tử "b" nhỏ trên phần tử "C" lớn không?

Điều tôi đã nghĩ là tương đối có nghĩa là chỉ số z liên quan đến cha mẹ của nó trong khi nếu tôi đặt tất cả các phần tử thành tuyệt đối, hiển thị chữ "b" nhỏ "C" lớn nhất có thể, nhưng không phải. Bất cứ ai có thể giải thích nó cho tôi?

<div id="A">A<div id="a">a</div></div> 
<div id="B">B<div id="b">b</div></div> 
<div id="C">C<div id="c">c</div></div> 
+0

bạn có nghĩa là cách '.count-particles' div nằm trên đầu canvas? – maioman

+0

Tôi muốn đặt tập lệnh hạt đó làm nền trang web của mình, nhưng sau đó tôi muốn có thể nhấp vào các liên kết và nút trên trang web của tôi (đưa chúng lên trên tập lệnh hạt) nhưng chỉ mục z không hoạt động. – Marek

+0

https://github.com/jnicol/particleground có làm những gì bạn muốn không? – Cymen

Trả lời

2

Vị trí không tham chiếu đến chỉ mục z. Nó đề cập đến vị trí x, y trên màn hình. Đọc về thuộc tính vị trí css here.

chỉ mục z chỉ là vị trí tuyệt đối trên trục z. Do đó, chỉ số cao hơn ngăn xếp trên mức thấp hơn.

Vị trí vẫn có hiệu lực trên trục z cho div bên ngoài div của bạn, vì các giá trị khác nhau ngụ ý các đơn đặt hàng hiển thị khác nhau. Bạn có thể thấy hiệu ứng này nếu bạn mở công cụ nhà phát triển chrome trên trang bạn đã cung cấp và thay đổi A từ tĩnh thành tương đối.

Mặc dù A có chỉ mục là 37, nó sẽ ở trên B vì nó được hiển thị sau A. Để z-index hoạt động đáng tin cậy, bạn nên xếp chồng lên nhau.

Nếu bạn mở ví dụ về hạt codepen và mở công cụ nhà phát triển chrome, bạn có thể thấy cách hộp FPS hoạt động lạ nếu bạn nhấp vào chi tiết. Điều này là cho nó nằm ngoài div particle.js.

Tóm lại, nếu bạn muốn xem điều gì đang diễn ra, hãy sử dụng công cụ phát triển trong chrome. Firefox, Opera và IE có các công cụ tương tự.

Đây là ví dụ hoạt động trên codepen. Thêm lớp css của bạn và đặt div trên trang:

.test { 
    index: 50; 
    top: 100px; 
    position: absolute; 
} 
+1

Những gì tôi đọc trước đó là chỉ mục z sẽ chỉ hoạt động đối với các phần tử có vị trí được đặt thành tương đối hoặc tuyệt đối. Điều đó có đúng không? Ngoài ra, thiết lập chỉ số z cao nhất có thể cho các nút (cho phép nói 999999) không mang chúng lên trên các hạt – Marek

+0

Đó là vì một số lý do div của các hạt trong ví dụ của bạn nằm trong div riêng của nó. Bạn có thể cố gắng làm cho tất cả các div tĩnh, sau đó các div sau đây sẽ được trả lại sau và trên các hạt. Hoặc bạn có thể thử đặt các div bên trong div với các hạt. Sau đó, z-index sẽ hoạt động. –

+0

Nếu tôi đặt toàn bộ nội dung của trang web của tôi bên trong div với các hạt, ngay cả sau đó chỉ số z không hoạt động ... Để làm cho tất cả các div tĩnh của nó để làm việc nhiều bây giờ. Hãy tưởng tượng tôi đã có trang web của tôi đã sẵn sàng và sau đó tìm thấy plugin hạt này. Tôi nghĩ việc đặt các hạt lên trên mọi thứ dễ dàng hơn và sau đó chỉ cần đặt các phần tử được chọn lên trên nó. Nhưng nó không phải là? – Marek

10

Những gì tôi sẽ đề nghị được, đưa ra một giá trị cao z-index cho bạn a (ví dụ z-index:9999;) nhưng đảm bảo các yếu tố mẹ của a không có giá trị z-index nhỏ hơn vì chỉ mục z của một phần tử sẽ bị giới hạn bởi giá trị do cha mẹ đặt.

Vì vậy, câu hỏi của bạn "nào tôi có thể đặt lớn '' nguyên tố trên lớn 'C B' yếu tố trong khi có nhỏ '' tố trên lớn 'b C' yếu tố?", câu trả lời là không bởi vì chỉ số z của phần tử "b" nhỏ của bạn sẽ bị giới hạn bởi phần tử cha của nó, là phần tử "B" lớn và phần tử "B" lớn nằm bên dưới phần tử "C".

Here's a working sample với số .container hiển thị bên dưới các hạt trong khi có liên kết hoạt động.Điều quan trọng là bạn nên có điều này:

a{ 
    position:relative; 
    z-index:9999; 
} 

Và chắc chắn rằng phụ huynh (trong trường hợp này, các .container) phải có giá trị z-index của 9999 hoặc cao hơn (hoặc bất kỳ giá trị lớn hơn z-index của mẫu này), nếu không sẽ giới hạn chỉ số z của a và nếu nó thấp hơn chỉ số z của mẫu, các nút sẽ không thể nhấp được.

Nếu bạn có nút có hình nền chắc chắn, tôi khuyên bạn nên đặt kiểu trên phần tử giả cho a với chỉ mục z thấp hơn để cho phép các mẫu xuất hiện trên đó, đồng thời duy trì khả năng nhấp của liên kết a.

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