Có lý do chính đáng nào để hai tệp CSS gửi @import lẫn nhau không?


8

Tôi đang làm việc trên một số phiên bản phong cách quan trọng cho trang web WordPress của khách hàng được thiết kế bởi một nhóm khác.

CSS dường như là một mớ hỗn độn. Một trong những đặc điểm riêng mà tôi đã tìm thấy là biểu định kiểu chính của chủ đề style.css, @ nhập các biểu định kiểu khác từ thư mục con : css/default.css. Trong khi đó, default.css@imports biểu định kiểu chính ở đầu tệp cũng vậy.

Tôi đã xóa các chỉ thị @import và thêm nội dung của default.cssđến style.css, nhưng điều đó phá vỡ bố cục bất kể tôi đặt các default.csskiểu ở trên cùng hoặc dưới cùng của style.csstệp. Vòng lặp @import thực hiện một số thứ cho tầng mà bằng cách nào đó làm cho bố cục "hoạt động".

Tôi chưa bao giờ thấy bất cứ điều gì như thế này trước đây. Rõ ràng là tôi nên gỡ rối các bảng định kiểu và sắp xếp các bộ chọn theo thứ tự tăng dần độ đặc hiệu. Nhưng có bất kỳ lý do hợp lý nào cho việc cố tình tạo hai tệp CSS mà @import lẫn nhau không? Có vẻ như các loại hạt, nhưng có thể có một lý do nguyên tắc đằng sau này?

Tôi chuyên phát triển front-end chứ không phải phát triển WordPress. Tôi lưu ý rằng WordPress phân tích biểu định kiểu chủ đề chính cho thông tin chủ đề. @Import có đệ quy một cái gì đó hữu ích cho WordPress theo bất kỳ cách nào không?


Bất kỳ plugin bộ nhớ đệm WP nào được cài đặt? Bạn đã thử sử dụng các công cụ phát triển của Chrome để xem các quy tắc CSS nào đang phá vỡ bố cục khi bạn xóa quá trình nhập và xác định tệp nào chúng đang ở?
nathangiesbrecht

1
câu hỏi hay John nhưng một trang yêu cầu các tệp giống nhau được tải xuống nhiều lần, đặc biệt là không có các tiêu đề bộ đệm phù hợp được đính kèm với mỗi tệp đó là một công thức cho thảm họa. Tôi có thể đoán bạn đã cài đặt nhiều plugin wordpress.
Mike

1
"và thêm nội dung của default.css vào style.css" - có lẽ nó phải theo cách khác?! Bất kỳ truy vấn phương tiện truyền thông gắn liền với @import?
MrWhite

bạn có thể chia sẻ trang web?
ePetkov

Câu trả lời:


3

@import là một mớ hỗn độn lớn về thời gian tải trang. Sau khi bạn hoàn thành công việc CSS, khách hàng của bạn sẽ đưa ra ý tưởng tối ưu hóa thời gian tải và cuối cùng, câu hỏi về việc loại bỏ @import sẽ xuất hiện trở lại.

Đầu tiên tôi sẽ cố gắng thay thế @import bằng <link>. Sau đó thử với các công cụ dev để xác định, lớp nào đang xung đột. Sau đó, cố gắng di chuyển các quy tắc CSS từ tệp CSS đã nhập với bổ sung! Quan trọng.

Điều này có thể xảy ra, có một số vấn đề với đường dẫn (tương đối) của tệp trong tệp CSS đã nhập ...?

Đôi khi, nó giúp tải trong trình duyệt trang web bằng CSS @imported, do đó, có vẻ như khách hàng mong đợi, sau đó sao chép toàn bộ CSS với sự trợ giúp của các công cụ dev, lưu nó vào một tệp CSS và thay thế tất cả các tệp CSS bằng tệp mới được tạo này một.

Ý tưởng toàn cầu mà tôi sẽ cố gắng thực hiện, là chuyển tất cả các quy tắc CSS vào cùng một tệp, làm cho nó hoạt động, sau đó di chuyển các quy tắc CSS cho khu vực trong màn hình đầu tiên sang đầu tệp HTML.


Cảm ơn. Di chuyển tất cả các quy tắc vào một tệp và sử dụng các công cụ Dev để giải quyết xung đột là chính xác những gì tôi đã làm và nó hoạt động rất tuyệt vời.
John Stephens
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.