2012-12-18 24 views
1

多年來我們一直生活在沒有background-size屬性,但現在實際上由絕大多數瀏覽器生成it is supported使用具有絕對值的背景大小的最佳做法

至少有以下兩種情況下background-size是一個非常方便的特性:

  1. 重新調整背景相對一些容器的大小。
  2. 調整背景以創建動畫效果。

但是,對於靜態(從意義上說,沒有引入任何類型的動畫效果)內容的絕對大小背景怎麼樣?我們總是可以調整我們需要調整大小的圖像,而無需調用background-size屬性。所以,由於這是一個相對較新的屬性,我不知道如何正確使用它,所以我的問題是:關於絕對值的異常說話,何時以及何時不應該使用背景大小而不是圖像預處理?

UPD:這裏是一個snippet使我的問題更清晰。

+0

你是什麼意思,調整爲靜態內容? – Brad

+0

@Brad我的意思是,對於有些動畫的內容,很明顯背景大小如何有用。我編輯了這個問題,使其更清晰。的確,「靜態」有很多含義。 – shabunc

+0

我還是不明白你在問什麼。你能提供一個具體的例子嗎? – Brad

回答

1

幾乎沒有使用特殊絕對值的使用情況 - 當我們沒有任何服務器端處理圖像的能力時,我只能想到僅使用客戶端解決方案。

所以,你的回答嚴格的問題是「有沒有」,所以我最好回答更廣泛的問題:)

  1. 當與CSS漸變使用你既可以效仿repeating-漸變,要麼使patterns與它,要麼使用它來獲得更好的性能。最後一種情況是最有趣的:當你在一個元素上設置了一些漸變時,它會被渲染到這個元素的高度和寬度,有時候這可能會消耗資源。在很多情況下,您可以通過一個維度來限制漸變的大小,或者有時候可以通過兩者來限制漸變的大小,因此瀏覽器會將其呈現爲100x100而不是1280x9001。

  2. 使用background-size: cover來確保圖像填充塊。例如,您的應用可能包含用戶圖片或縮略圖,並且其中大部分尺寸都是特定尺寸,例如50x50。但是,會有比這更小或更大的,並且background-size在這裏會很完美 - 您可以在這裏使用cover使該圖像適合該區域(當然,這不是絕對值,但它非常方便,通常用background-position: 50% 0使頭像在用於肖像照片的情況下用於修剪)。另一個類似的案例 - 製作full page backgrounds具有背景大小。

  3. 背景大小通常可用於製作類視網膜顯示圖像,因此圖像要麼總是收縮(即使在非視網膜顯示器上也要這樣),要麼有條件地收縮(使用mediaqueries for DPI)。

  4. 當你有一些圖片庫時,你通常會有一些縮略圖,然後點擊完整圖片。如果將縮放後的縮略圖作爲全尺寸圖像的背景進行填充,您可以獲得類似於漸進式jpeg的良好效果,即<img/>標籤 - 這種方式在大圖像加載時會產生模糊的圖像作爲佔位符。用於帶彈出窗口的燈箱類型時,它會更好。

啊,雖然你告訴何況動畫,我只是無法控制mysel,所以我把鏈接發給this demo在這裏:)

相關問題