Tôi đang sử dụng La bàn để tạo các CSS sprites.Sử dụng cùng một chữ cái La bàn trong các bảng kiểu khác nhau
Tôi đã tìm ra cách để xác định một sprite một lần và sử dụng nó trên các tệp .scss khác nhau, nhưng tôi không chắc đây là giải pháp phù hợp.
Cách tốt nhất tôi có thể tìm cho đến bây giờ là:
- tạo ra một tập tin
_variables.scss
phần - xác định sprite bên trong
_variables.scss
tập tin phần - nhập
_variables.scss
một phần trong mỗi tập tin .scss
Ví dụ
tập_variables.scss:
$siteSprite-spacing: 20px;
@import "siteSprite/*.png";
firstPage.scss file:
@import "../variables.scss";
.close {
@include siteSprite-sprite(close, true);
}
secondPage.scss file:
@import "../variables.scss";
.viewMore {
@include siteSprite-sprite(arrow, true);
}
Và làm việc này, nhưng ...
vấn đề là mỗi khi Compass biên dịch các tệp scss (firstPage.scss, secondPage.scss) nó đọc phần _variables.scss và sau đó đọc tất cả các hình ảnh, cố gắng tạo ra sprite mỗi lần.
Kết quả là quá trình biên dịch kết thúc trong này:
create generated_images/siteSprite-s526a535d08.png
unchanged generated_images/siteSprite-s526a535d08.png
create css/firstPage.css
unchanged generated_images/siteSprite-s526a535d08.png
create css/secondPage.css
unchanged generated_images/siteSprite-s526a535d08.png
create css/thirdPage.css
unchanged generated_images/siteSprite-s526a535d08.png
Và điều này là cực kỳ chậm, bởi vì tôi có nhiều trang và nhiều file bên trong thư mục hình ảnh siteSprite.
Làm cách nào để tránh sự cố này?
Lý do để tạo biểu định kiểu cho mỗi trang là gì? Có lẽ bạn có thể tạo một bảng định kiểu toàn cục tham chiếu đến các sprites? Nếu bạn đang tách ra các kiểu cho mỗi trang, tại sao không tách riêng các sprites cho trang đó? –
@verlok, dòng không thay đổi phải rất nhanh. Tôi chạy một bài kiểm tra với tờ giấy phép của riêng tôi và mỗi dòng không thay đổi là khá nhiều ngay lập tức cho tôi. Dòng tạo, có mà sẽ rất chậm, đặc biệt nếu bạn có một sprite lớn. – zmanc
Chỉ 'tạo' có nghĩa là la bàn đang tạo ra sprite. 'không thay đổi' sẽ nhanh hơn nhiều. – sam