我已經創建了我正在嘗試解決的問題的簡化版本。請看一看如何根據瀏覽器/屏幕的寬度更改「背景位置」
HTML:
<div class="container">
<div class="bg-left">
<div class="content">
Some content here
</div>
</div>
</div>
CSS:
.container {
display: block;
height: 200px;
width: 100%;
background-color: #e2e2e2;
}
.bg-left {
background-image: url('http://i.imgur.com/hDheuGJ.png');
background-repeat:no-repeat;
background-position: 0px 0px;
width: 100%;
height: 100%;
}
.content {
width: 960px;
margin: 0 auto;
font-size: 20px;
}
的jsfiddle:http://jsfiddle.net/gnPC6/
該代碼包含:
1)包含位於左上角的背景圖像的100%寬度的DIV(即,黑色三角形)
2)在該div還有另一個格其是,例如寬960px並居中。一些內容將被放置在這裏。
問題:如果瀏覽器窗口的寬度被調整大小,那麼黑色三角形仍然會在左上角可見,並且結果是該圖像模糊了前景內容。
我想要實現這樣的:
1)如果用戶的瀏覽器調整爲1050px或之下,則黑三角的背景位置將調整使得瀏覽器更被調整大小後,黑色三角形的可見性就越差(即背景圖像會動態地從屏幕向左滑動)...
如果用戶窗口爲1051px或更高,背景位置應保持爲0px 0px;
如果用戶窗口是1050px,背景位置應該是0像素-1px;
如果用戶窗口是1049px,背景位置應該是0像素-2px;
如果用戶窗口是1048px,背景位置應該是0像素-3px; 等
這在本質上是什麼,我想實現的,但我想不通的地方使用JavaScript開始解決這個問題。
請讓我知道如果您有任何建議,非常感謝!
編輯我知道媒體查詢,但我不相信他們可以有效地解決這個問題。我不想只根據瀏覽器的寬度更改CSS,我希望在調整瀏覽器大小時動態更改背景位置。爲此,我敢肯定,一個javscript的解決方案是必需的,而不是數百@media聲明
你想做的事可以做到用什麼CSS媒體查詢。去閱讀。 –
如上所述,媒體查詢將很容易解決這個問題。一些鏈接可以爲您提供以下幫助:https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries,http://webdesignerwall.com/tutorials/css3-media-queries – user2212564
謝謝但我已經閱讀過媒體查詢。據我所知,我可以指定像'@media(max-width:1050px){.bg-left {background-position:0px -1px}}'這樣的東西,但我該如何做到這一點,以便背景位置是動態的隨寬度逐個像素下降而改變? – ghilton