2013-08-31 31 views
6

Trong Fancybox 2.1.5 Tôi muốn thay thế các điều khiển mặc định bằng các nút tùy chỉnh (trình tải trước mới + nút đóng/tiếp theo/trước trên sprite).Làm cách nào để thay thế các nút điều khiển mặc định bằng các nút tùy chỉnh trong Fancybox 2.1.5?

Tôi không chắc chắn cách điều chỉnh mã css đúng cách. Tôi đã cố gắng sửa đổi CSS as follows, nhưng có điều gì đó sai, biểu tượng 'tiếp theo' xuất hiện ở góc trên cùng bên phải thay vì nút 'đóng'.

Bạn có thể thấy mã của mình trên this gist.

Trả lời

16

Không cần phải gây rối với các file CSS gốc, sử dụng tùy chọn tpl API thay vì như

$(".fancybox").fancybox({ 
    tpl: { 
     closeBtn: '<a title="Close" class="fancybox-item fancybox-close myClose" href="javascript:;"></a>' 
    } 
}); 

Thông báo mà tôi thêm lớp myClose vì vậy tôi có thể thiết lập riêng các thuộc tính CSS đặc biệt, hình nền của nó , vv như

.myClose { 
    height: 50px; 
    width: 50px; 
    background: #ff0000; 
} 

Xem JSFIDDLE chỉ là một ví dụ.

Làm tương tự cho các biểu tượng trước/tiếp theo. Kiểm tra API documentation (search for tpl)

+0

Cảm ơn bạn đã đọc Mẹo. Nhưng cách này trông phức tạp hơn nhiều so với việc chỉ chỉnh sửa tệp CSS, đủ nhỏ và đơn giản. Plugin Fancybox được sử dụng trong Prestashop. Tôi không biết đâu là tập tin tpl cần thiết cho việc này. Thay đổi mẫu prestashop sẽ phức tạp hơn, theo ý kiến ​​của tôi. Tôi đã điều chỉnh tập tin jquery.fancybox.css, nó chỉ hoạt động theo yêu cầu, ví dụ: http://codepad.org/NXqQL6a0. Tôi không chắc chắn về một số chi tiết ở đây: 'margin-top: -22px; lề trái: -22px; (dòng 88,89) 'và 'lề trên cùng: -15px; (dòng 137) '- là những giá trị này được liên kết với kích thước nút gốc hay độc lập với chúng? – triwo

+1

@triwo ngày prestashop quyết định cập nhật fancybox, sau đó bạn sẽ cần phải tùy chỉnh lại tệp css. Đây là lý do tại sao bạn không nên lộn xộn với các tệp gốc (nhưng tùy thuộc vào bạn) ... và 'tpl' không phải là tệp, là một tùy chọn mà bạn sử dụng trong tập lệnh khởi tạo ưa thích tùy chỉnh của mình để ghi đè nội dung trong Tệp CSS mà không sửa đổi nó. – JFK

+0

Tôi sẽ thử kịch bản khởi tạo fancybox tùy chỉnh, nhưng bây giờ tôi chỉ muốn hoàn thành với CSS mods và để có được câu trả lời cho câu hỏi của tôi. – triwo

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