16

Tôi đang làm việc trên trang web đáp ứng nơi mỗi trang sẽ có hình ảnh anh hùng lớn, được xác định trong CMS. Tôi muốn tránh phải tải xuống hình nền đó trên điện thoại di động.Tôi có thể sử dụng truy vấn phương tiện trong CSS nội bộ và có tránh tải hình nền mà tôi xác định không?

Cách duy nhất tôi có thể nghĩ để làm điều đó là phải có một số CSS nội tuyến vào đầu của trang như vậy:

<style type="text/css"> 
    @media only screen and (min-width: 680px) { 
     .hero-image { background-image: url(../images/image.jpg); } 
    } 
</style> 

Trước tiên, tôi có thể sử dụng các truy vấn phương tiện truyền thông trong inline CSS?

Thứ hai, điều này có tránh tải xuống hình ảnh trên điện thoại di động không?

Thứ ba, có cách nào tốt hơn không?

Cảm ơn

+3

những gì được mô tả ở đây được gọi là "css nội bộ", chứ không phải nội tuyến. – Urs

+0

@Urs cố định nó, đã gây hiểu nhầm. –

+0

có thể trùng lặp của [Có thể đặt CSS @media rules inline?] (Http://stackoverflow.com/questions/9808233/is-it-possible-to-put-css-media-rules-inline) – davidcondrey

Trả lời

6

Có, bạn có thể sử dụng truy vấn phương tiện trong thẻ <style>. Hình ảnh chỉ được tải nếu CSS yêu cầu nó, vì vậy nếu không có gì phù hợp với bộ chọn thì nó sẽ không làm phiền tải hình ảnh.

Có lẽ tốt hơn nên bao gồm truy vấn phương tiện trong tệp CSS bên ngoài của bạn. Không có lý do để đưa nó vào nội tuyến.

+7

Cảm ơn . Lý do để đưa nội tuyến vào đó là nó cần được đầu ra bởi CMS (sẽ có một hình ảnh anh hùng duy nhất trên mỗi trang). – GusRuss89

+0

Tôi đã sử dụng cách tương tự để đạt được

 background-image: url("{{ $resource_path }}/pictures/btn_menu_show.png")
windmaomao

4

Không, dường như bạn không thể inline thẻ @media:

Vui lòng tham khảo này: Is it possible to put CSS @media rules inline?

+1

Mặc dù từ ngữ trên câu hỏi ban đầu (ít nhất là ngày hôm nay) hiện trạng "nội tuyến", mã OP cho thấy rằng họ đang hỏi về cách đặt các truy vấn phương tiện trong nội bộ chứ không phải nội dòng. Sai lầm thường gặp, tôi làm cho nó khoảng một lần một tuần. =) – xtoq

1

Bạn có thể có may mắn hơn với một hai bước truy vấn phương tiện truyền thông, người ta bắt đầu trong CSS nhưng kết thúc bằng jQuery. Gắn nhãn các div của bạn với một ID để jQuery có thể tìm thấy chúng. Quá trình được giải thích chi tiết tại đây: http://www.fourfront.us/blog/jquery-window-width-and-media-queries