CSS giảm để tải nhanh hơn / băng thông ít hơn


9

Việc nén CSS / Loại bỏ các quy tắc không sử dụng cho một trang cụ thể có giá trị về băng thông hay chúng ta có thể dựa vào bộ nhớ đệm (tiêu đề / sửa đổi lần cuối) để loại bỏ chi phí này không?

Chúc mừng

Ngoài ra, chúc may mắn với bản beta mọi người!

Câu trả lời:


8

Giảm kích thước tệp chắc chắn sẽ giảm băng thông và rút ngắn thời gian tải trang. Lần đầu tiên người dùng truy cập trang web của bạn, họ sẽ không có bất kỳ thứ gì được lưu trong bộ nhớ cache và đối với hầu hết các trang web, khách truy cập lần đầu tiên chiếm phần lớn lưu lượng truy cập.

Ngoài ra, hãy chắc chắn rằng bạn đã bật nén gzip. Điều này sẽ làm một số lượng lớn để giảm băng thông.


1
Điều quan trọng là, nếu bạn giảm kích thước tệp trên một trang bằng cách giảm tải nó xuống CSS duy nhất hoặc được nhúng trong các trang khác, bạn vừa phủ nhận lợi ích của việc lưu trữ. Tốt nhất nên thực hiện một cú đánh lên phía trước để cung cấp cho người dùng của bạn trải nghiệm tuyệt vời trên các trang 2- X. Vì vậy, hãy làm cho css của bạn sạch nhất có thể. Kết hợp bội số thành một. Nhưng đừng tạo mã dự phòng, duy nhất để (giảm) một lần nữa.
bpeterson76

2

Tôi không nghĩ đó là một trong hai. Giảm kích thước tệp sẽ giúp người dùng lần đầu tiên truy cập tệp. Bộ nhớ đệm sẽ giúp trong chuyến thăm thứ hai của họ.



1

Bất cứ lúc nào bạn có thể loại bỏ các thứ bạn sẽ cải thiện tốc độ tải, nếu chỉ sơ suất. Ngoài ra, đó cũng là cách tốt để loại bỏ những thứ bạn không sử dụng để làm rõ mã.


Ví dụ: một tệp theme.css chính trong đó mỗi trang chỉ sử dụng khoảng 30% quy tắc ... nhưng hỗn hợp sẽ khiến việc chia tách bản sửa lỗi trở thành một cơn ác mộng.
Aiden Bell

0

Tôi nghi ngờ nó phụ thuộc vào sự năng động của trang web của bạn. Nếu bạn có nhiều khách truy cập lặp lại và không có nhiều khách truy cập mới, bộ nhớ đệm có lẽ là đủ. Tuy nhiên, nếu bạn có nhiều khách truy cập mới (và đặc biệt là nếu bạn muốn tạo ấn tượng tốt đầu tiên), tôi nghĩ bạn nên giảm kích thước CSS của mình càng nhiều càng tốt.


0

Xóa một số CSS không sử dụng rõ ràng sẽ cải thiện thời gian tải trên một trang, nhưng bạn cũng phải cân bằng điều đó với hiệu ứng trên một số trang. Bạn cũng muốn tránh quá nhiều yêu cầu HTTP.

Hãy nhớ rằng, gzipping CSS là cách hiệu quả nhất để tăng tốc độ tải CSS. Sự khác biệt giữa một tệp với mọi thứ trong và một tệp khác với một vài khối không cần thiết bị loại bỏ là không đáng kể sau gzip.


0

Ngay cả khi hiệu suất bị giảm bằng cách loại bỏ CSS không sử dụng trên cơ sở mỗi trang (và tôi khá tin rằng bộ nhớ đệm sẽ vượt trội hơn trừ khi bạn nói về các trang hoàn toàn khác nhau), bạn cần phải tính đến thời gian bảo trì cần thiết để làm như vậy . Trừ khi bạn là Google, có lẽ không đáng để dành vài ngày trong suốt vòng đời của trang web để cứu mỗi người dùng một phần mười giây.

Rất nhiều điều này phải làm với hồ sơ sử dụng trang web của bạn. Nếu bạn thực sự dính, thì bộ nhớ đệm sẽ thắng. Tuy nhiên, nếu bạn có tỷ lệ thoát cao, bạn có thể tốt hơn với CSS được tối ưu hóa (hoặc dành thời gian bạn lãng phí cho tối ưu hóa CSS làm cho trang web của bạn trở nên hấp dẫn hơn!).

Một cách tiếp cận mà bạn có thể thực hiện nếu bạn có đánh dấu dành riêng cho trang là có tệp CSS trên toàn trang web chung và nhúng các quy tắc trên mỗi trang vào phần đầu của tài liệu HTML.


0

Bạn có thể tận dụng tốt nhất từ ​​cả hai thế giới, thu nhỏ tệp tại thời điểm thực hiện và gzip đầu ra.
Tệp nguồn vẫn có thể đọc được khi bạn cần chỉnh sửa, nhưng nó được nén khi bạn tải xuống

đầu tiên: sử dụng htaccess để nói với apache để xử lý tất cả các tệp css dưới dạng tập lệnh php và để nén đầu ra khi nhập văn bản / css

trong .htaccess AddHandler php5-cgi .css AddType text / css .css AddOutputFilterByType DEFLATE text / css

Thứ hai: sử dụng bộ đệm đầu ra với chức năng gọi lại để thu nhỏ mã css trước khi bắt đầu tải xuống, đồng thời đặt thời gian hết hạn để tệp được lưu vào bộ đệm

trong tập tin css của bạn

<?php
ob_start("trima");
header("Content-type: text/css; charset=utf-8");
ob_start();
date_default_timezone_set('GMT');
$lasmod = "Last-Modified: " . strftime ("%a, %d %b %Y %T GMT", filemtime (__FILE__));
Header($lastmod);
$offset = 3600*24*30*12;
$expire = "Expires: " . date("D, d M Y H:i:s", time() + $offset) . " GMT";
Header($expire);
function trima($str) {
    $str = str_replace(array("\n", "\r", "\t", "\o", "\xOB"), '', $str); // remueve enter tabs y demas
    $str = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $str); // remueve comentarioa
    $str = ereg_replace("[ ]+", " ", $str);                         //remueve espacios multiples
    $rep = array( '{ '=>'{', ' }'=>'}', '; '=>';', ', '=>',', ' {'=>'{', '} '=>'}', ': '=>':', ' ,'=>',', ' ;'=>';' ); // remueve espacios inecesarios
    $str = strtr($str, $rep);
    return $str;
}
?>
css content here

Thứ ba: lợi nhuận?

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.