的問題是要更改的背景圖像中除了簡單的背景本身更改屬性。我已經設置了一些隨機背景圖塊的小提琴。你會看到背景的幻燈片,但立即在圖像上的更改,而過渡:
http://jsfiddle.net/jimjeffers/a2jAF/
你需要一個圖像上定居的背景,但現在你有三個:
background-image:url(nav-bg-initial.png);
background-image:url(nav-bg-secondry.png);
background-image:url(nav-bg-tertiary.png);
你需要將這些壓縮成一個精靈。但是,一旦應用到背景的過渡並調整背景位置,背景就會滑動而不是淡化。因此,取決於您要實現的效果 - 轉換背景可能不是您的最佳選擇。
取而代之 - 您可能需要做的是使用一些嵌套的空容器元素。它在語義上不是很好,但如果你想使用CSS轉換來執行淡入淡出,它可以達到你想要的。
<ul id="navigation-list">
<li><a class="navigation-button" id="nav-button-1" href="#">HOME</a><span class="initial"></span><span class="secondary"></span><span class="tertiary"></span></li>
...
</ul>
的CSS則是:
.navigation-button { position: relative; }
.initial, .secondary, .tertiary {
bottom: 0;
left: 0;
opacity: 0;
position: absolute
right: 0;
top: 0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
z-index: -1;
}
.initial { background-image:url(nav-bg-initial.png); }
.secondary { background-image:url(nav-bg-secondry.png); z-index: -2; }
.tertiary { background-image:url(nav-bg-tertiary.png); z-index: -3; }
然後你切換他們的外表是這樣的:
#navigation-buttons:hover #nav-button-1 .tertiary { opacity: 1; }
這是一個有點更多的工作,但你必須做沿着這些線交叉淡入淡出不同的背景圖像在各個位置沒有得到幻燈片效果。