2010-04-11 406 views
5

我無法用言語來最好地描述這一點,所以我會帶照片給您看。CSS - 將另一張圖片重疊在另一張圖片上

這裏是我的設計師是如何打算的的Gravatar圖像在我們網站的側邊欄查看:

how the designer wants it http://i41.tinypic.com/rjnn6v.png

這裏的疊加圖像我做了(從Photoshop screenshotted):

my overlay image http://i43.tinypic.com/s1sz2e.png

以下是它現在的樣子...

not quite ideal http://i42.tinypic.com/21j13s3.png

不太理想,我想你會同意的。這是我使用的CSS代碼:

.gravatarsidebar { 
    float:left; 
    padding:0px; 
    width:70px; 
} 

.gravataroverlay { 
width:68px; 
height:68px; 
background-image: url('http://localhost:8888/images/gravataroverlay.png'); 
} 

而這裏的XHTML(和PHP來獲取的Gravatar的基於用戶的電子郵件地址,這是獲取從我們的數據庫灑):

<div class="gravataroverlay"></div> 

     <div class="gravatarsidebar"> 
      <?php $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($email) . '?s=68'; 
      echo '<img src="' . $gravatar_link . '" alt="Gravatar" />'; ?> 
     </div> 

那我該怎麼辦? 我不能使用相對定位,因爲它使得下面div中的「搜索」一詞保持向右移動。

感謝您的幫助!

傑克

+0

如果你在文檔類型問你可能有更好的運氣:http://doctype.com/ – 2010-04-11 21:10:36

回答

7

您是否試過使用z-index來強制兩張圖片疊加?也許這樣? Here is a pseudo example

<div class="gravatar-sidebar"> 
    <img class="overlay-image" src="images/gravataroverlay.png" /> 
    <?php $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($email) . '?s=68'; 
    echo '<img src="' . $gravatar_link . '" alt="Gravatar" class="gravatar-image"/>'; ?> 
</div> 

/*CSS*/ 
.gravatar-sidebar {float:left;padding:0px;width:70px;position:relative;} 
img.overlay-image{position:absolute;left:0px;top:0px;z-index:10;} 
img.gravatar-image{position:absolute;left:0px;top:0px;z-index:1;} 
+0

這實現了我想要的效果!非常感謝您的幫助!:) – Jack 2010-04-11 22:25:45

+0

如果您添加「已售出」或「已售出」待定「的形象也在房地產上市。 – 2012-04-04 15:58:20

0

你不能在相對定位的地方使用?在gravatar圖像上?

我不得不想知道爲什麼你有圖像本身的容器外的覆蓋div。至少他們應該是兄弟姐妹。製作一個僅保存圖像和覆蓋圖的容器,然後使覆蓋圖位於絕對位置0,0處於圖像頂部。

<div class="gravatarsidebar"> 
     <?php $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($email) . '?s=68'; 
     echo '<img src="' . $gravatar_link . '" alt="Gravatar" />'; ?> 
     <div class="gravataroverlay" style="position:absolute; top:0; left:0;"></div> 
    </div> 
+0

我不能疊加圖像,在使用相對定位,因爲當我移動它,它仍然留下了「缺口'的寬度,從而將「搜索」一詞推到右側。我會盡快給你的建議,並儘快報告! – Jack 2010-04-11 21:10:29

+0

對不起,但你的代碼無法正常工作。我認爲你在哪裏寫了style =「position:relative你的意思是position:絕對的,但是嘗試了兩種方式,我仍然得到相同的效果,絕對地位於瀏覽器視口的左上角...... – Jack 2010-04-11 21:14:20

+0

如果你可以使gravatarsidebar類的位置相對,這樣它就成爲了它的子元素定位的參考框架,這就是爲什麼現在它到達瀏覽器的左上角 - 它的參考是body,而不是邊欄容器 – Tesserex 2010-04-11 21:54:41

相關問題