2011-08-08 12 views

回答

0

更新辦法在這裏:http://jsfiddle.net/irama/P7xKm/24/

其分解...

您想添加一個內容層:

<div id="content"> 
    <p>Hello kitty!</p> 
</div> 
<div id="container"> 
    <img src="http://placekitten.com/g/200/300" class="bg_image" /> 
</div> 

那麼你一定要採取「容器」元素了公文流轉,這樣你就可以在圖層內容頂部:

.bg_image { 
    width: 100%; 
} 

#container { 
    width: 100%; 
    height: 100%; 
    overflow: hidden; 
    position: absolute; 
    top: 0; 
    left: 0; 
} 

#content { 
    position: relative; 
    z-index: 2; 
    background-color: #fff; 
} 

然後,您可以採取或離開JavaScript,取決於您是否希望圖像垂直居中。

+0

謝謝你,那更像是我在想什麼。我相信明天我會尋找如何將我的文本背景設置爲透明的......但我相信當時間到了的時候我可以研究。再次感謝你! – TurtleWolf

+0

不用擔心,樂意幫忙。 – irama

+0

可能在單獨的線程中效果更好,但是:做半透明背景(同時保持文本完全不透明)的最簡單方法仍然(不幸地)使用半透明PNG(使用alpha透明度)作爲背景圖像。這在IE6中不起作用,但適用於現代瀏覽器。可以從photoshop導出爲具有透明度的24位PNG或從具有Alpha透明度的8位PNG的煙花。 – irama

0

鑑於圖像的高度可能發生變化,當窗口大小發生變化時,您需要使用JavaScript重新計算位置。

拋出這個在JavaScript地區的jsfiddle並設置 'NOWRAP(身體)':

$(function(){ 
    $('.bg_image').centerVertically(); 
    $(window).resize(function(){ 
     $('.bg_image').centerVertically(); 
    }); 
}); 

$.fn.centerVertically = function() { 
    $(this).css('margin-top', $(window).height()/2 - $(this).height()/2); 
}; 

參見:http://jsfiddle.net/irama/P7xKm/22/

或者,爲的jsfiddle之外,您的交易<體之前添加此>標籤:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script> 
<script> 

    $(function(){ 
     $('.bg_image').centerVertically(); 
     $(window).resize(function(){ 
      $('.bg_image').centerVertically(); 
     }); 
    }); 

    $.fn.centerVertically = function() { 
     $(this).css('margin-top', $(window).height()/2 - $(this).height()/2); 
    }; 

</script> 
+0

不,你的想法...我不關心圖像的垂直變化,它是一個佔位符。我只是想讓圖像充當背景圖像,所以html會覆蓋它的頂部。 – TurtleWolf

+0

Ahhh ...好吧,等待2分鐘,我的下一個答案 – irama