2013-08-28 62 views
0

這裏我的CSS:我可以強制CSS使用媒體查詢加載圖像嗎?

html { 
    background: url(../img/header_mobile.jpg) no-repeat center center fixed; 
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover; 
    background-size: cover; 
} 

/* Small devices (tablets, 768px and up) */ 
@media (min-width: 768px) { 
    html { 
     background: url(../img/header_tablet.jpg) no-repeat center center fixed; 
     -webkit-background-size: cover; 
     -moz-background-size: cover; 
     -o-background-size: cover; 
     background-size: cover; 
    } 
} 

如果我的屏幕比768px大,我的瀏覽器加載header_tablet.jpg只有 enter image description here 我可以強迫我的瀏覽器與媒體查詢之前加載header_mobile.jpg?

編輯:因爲知道我在做什麼是這樣的:

<script type="text/javascript"> 
    $(window).bind("load", function() { 
     if ($("html").width() > 767) { 
      $('html').css('background-image', 'url({{ site.url }}/img/header_tablet.jpg)'); 
     } 
    }); 
</script> 

我試圖找到一個媒體查詢解決方案。在移動加載只有我的小圖片。在平板電腦上開始加載我的移動圖像並加載我的大圖像。

+4

這樣即使屏幕我s寬度超過768px,您希望瀏覽器加載header_tablet.jpg和header_mobile.jpg?我很困惑你在找什麼。 – andi

+1

您可以使用另一個具有該背景的隱藏元素,以便在此期間加載它。或者在文檔準備加載時使用JS。 – Itay

+0

@andi是的我想讓我的瀏覽器加載header_mobile.jpg(因爲我的圖片小了10倍)和header_tablet.jpg –

回答

2

是的。選擇一種方法。

  1. HTML

    <img src="img/header_mobile.jpg" width=0 height=0 /> 
    
  2. 的JavaScript

    img = new Image(); 
    img.src = "img/header_mobile.jpg"; 
    
  3. CSS

    html:after { 
        background: url(../img/header_mobile.jpg); 
        opacity: 0; 
    } 
    
+0

我將其更改爲設置寬度和高度,因爲它在IE10上失敗。現在它似乎適用於IE10,Firefox和Chrome。我不能說IE的早期版本。 – FakeRainBrigand