2011-12-28 29 views
38

Nói tóm lại:Độc thân vs nhiều stylesheets trong thiết kế web đáp ứng

bạn nên sử dụng một hoặc nhiều stylesheets khi thực hiện thiết kế web đáp ứng?

Cụ thể:

Trong responsive design, bạn có xu hướng để có một đoạn chính của CSS, sau đó bit và miếng khác để điều chỉnh cách bố trí khi nó đạt breakpoint nhất định. Bạn có thể cấu trúc mã của bạn một trong hai cách:

Độc stylesheet

/* Main CSS */ 

@media only screen and (min-width: 480px) { /* CSS */ } 
@media only screen and (min-width: 640px) { /* CSS */ } 
@media only screen and (min-width: 800px) { /* CSS */ } 

Nhiều stylesheets

<link rel="stylesheet" media="screen" href="main.css"> 
<link rel="stylesheet" media="only screen and (min-width: 480px)" href="480.css"> 
<link rel="stylesheet" media="only screen and (min-width: 640px)" href="640.css"> 
<link rel="stylesheet" media="only screen and (min-width: 800px)" href="800.css"> 

Có vẻ như rằng việc sử dụng một kiểu sẽ làm giảm số lượng yêu cầu HTTP, nhưng bạn sẽ có một tệp lớn hơn sẽ chứa mã có thể không được sử dụng bởi một số ứng dụng khách. Nhiều bảng định kiểu dường như giảm kích thước tệp nhưng sau đó bạn có nhiều yêu cầu HTTP hơn.

Khi nào bạn nên chọn tham gia cho mỗi phương pháp tiếp cận? Làm thế nào để ưu và khuyết điểm của số lượng yêu cầu HTTP và kích thước tập tin xếp chồng lên nhau trong thực tế?

+2

Điều gì sẽ lâu hơn, xử lý yêu cầu HTTP (chuyến đi khứ hồi) hoặc xử lý lâu hơn tệp CSS cần thiết? –

+1

Kích thước tệp tương đối nhỏ trong hầu hết các tờ định kiểu. Ngay cả một tập tin css LỚN ở 50K có lẽ sẽ là ít nhất của những lo lắng của bạn trong tối ưu hóa hiệu suất. –

Trả lời

41

Stylesheets là luôn tải về, không phụ thuộc vào phương tiện truyền thông hiện nay, cho dù đó là screen, print, hoặc 3D-glasses.

Xem: Why do all browsers download all CSS files - even for media types they don't support?

Vì vậy, với ý nghĩ đó, giữ cho chúng tất cả trong một stylesheet sẽ giảm yêu cầu http, nơi như stylesheets riêng sẽ luôn tạo ra nhiều yêu cầu không có lợi ích.

+14

Vì sự tỉnh táo, bạn có thể sử dụng các tệp riêng biệt để phát triển và ghép/thu nhỏ chúng như là một phần của quá trình xây dựng trước khi đẩy mã của bạn. Xem tại đây: http://stackoverflow.com/questions/702907/what-are-some-good-css-and-js-minimizers-for-production-code – calvinf

+0

Chi phí HTTP có còn là vấn đề với HTTP/2 không? https://www.smashingmagazine.com/2016/02/getting-ready-for-http2/#concatenating-css-and-javascript – user1857711

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