2012-07-11 142 views
6

我有我想覆蓋三個圖像(用HTML + CSS,我做要使用JavaScript如果可能的話):覆蓋多個圖像

image1image2image3

這是結果,我想實現: My preferred result
[圖像4]

這是我曾嘗試:

CSS:

.imageContainer { 
    position: relative; 
} 

#image1 { 
    position: absolute; 
    top: 0; 
    z-index: 10; 

    border: 1px solid blue; 
} 
#image2 { 
    position: absolute; 
    top: 0; 
    z-index: 100; 

    border: 1px solid fuchsia; 
} 
#image3 { 
    position: absolute; 
    top: 0; 
    z-index: 1000; 

    width: 10%; 
    height: 10%; 

    border: 1px solid green; 
} 

HTML:

<div class="imageContainer"> 
    <img id="image1" src="http://i.stack.imgur.com/Es4OT.png"/> 
    <img id="image2" src="http://i.stack.imgur.com/WQSuc.png"/> 
    <img id="image3" src="http://i.stack.imgur.com/Xebnp.png"/> 
</div>​ 

image1的: 「主」 圖像(圖像1應該設置最大高度和用於imageContainer最大寬度 - 上述SE HTML) [藍色邊界]
IMAGE2horizontal-align: center;top: 0;相對於IMAGE1 [粉紅邊界]
圖像3:從原點尺寸由10%調整,horizontal-align: center;相對於圖像1 [綠色邊框]

我容易出錯的HTML + CSS導致了這一點: enter image description here

我無法弄清楚如何我的CSS應該是。我應該怎麼做才能達到[image4]的效果?

+0

您需要哪些瀏覽器支持? – steveax 2012-07-11 23:44:30

+0

儘可能多的但如果我必須選擇:FF和Chrome – 2012-07-11 23:56:34

+0

您的z-index對於任何元素在哪裏?您可以將它們添加到 – Lawrence 2012-07-12 04:19:53

回答

5

您可以更新代碼再次圖像旋轉transperancy問題 更新的代碼透明

圖像有一個股利和更多的背景,例如使其:

#someDiv 
{ 
    background: url('topImage.jpg') center, 
      url('imageInTheMiddle.jpg') 0px 0px, 
      url('bottomImage.jpg') /*some position*/; 
} 

這是迪更簡單的方法展開它。當然,在我放置定位值的地方,您必須添加一個定位值。

UPDATE

在你之後說的話,我想你可以使用3周絕對定位的div你的背景和使用CSS3屬性transform操縱它們。它使您可以旋轉,縮放和更多與您的元素。你也可以用JavaScript來操作它。

More info about css3 transform

+0

感謝您的回答!它絕對沒有錯,但我需要訪問量角器圖像([image2]與我的命名約定)。爲什麼?首選結果[image4]顯示了一項主要任務的簡化部分:量角器應能夠旋轉。在下一步中,我將使用該行爲來指示監控攝像機的當前轉角。 是否可以通過您的建議以任何方式訪問imageInTheMiddle.jpg? – 2012-07-12 06:08:12

+2

Whaa?我不知道你可以放多個url()。真棒。 – ThinkingStiff 2012-07-12 06:17:25

+0

@ThinkingStiff謝謝:) – 2012-07-12 06:24:26

1

讓我申請圖像旋轉的量角器圖像(圖像2) 希望幫助你

<style type="text/css"> 
    .imageContainer { 
     position: relative; 
     width:165px; 
     height:169px; 
    } 

    #image1 { 
     position: absolute; 
     top: 0; 
     z-index: 10; 
     width:120px; 
     height:120px; 
     border: 1px solid blue; 
    } 
    #image2 { 
     position: absolute; 
     top: 0; 
     z-index: 20; 
     border: 1px solid fuchsia; 
     opacity:0.6; 
    filter:alpha(opacity=60); /* For IE8 and earlier */ 


    /*for adding image rotation */ 
     -webkit-transform: rotate(90deg); /*//For chrome and safari*/ 
     -moz-transform: rotate(90deg); /*//For ff*/ 
     filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); /*// For ie */ 
    /* End for adding image rotation */ 



    } 
    #image3 { 
     position: absolute; 
     top: 0; 
     z-index: 30; 
     width: 40%; 
     height: 40%; 
     border: 1px solid green; 
     left:70px; 
     opacity:0.9; 
    filter:alpha(opacity=90); /* For IE8 and earlier */ 


    } 

    </style> 






    <form name="frmabc" action="" method="post"> 
<div class="imageContainer"> 
    <img id="image1" src="Es4OT.png"/> 
    <img id="image2" src="WQSuc.png" /> 
    <img id="image3" src="Xebnp.png" /> 
</div> 
</form> 
+0

是否有可能避免修復[image1]或[image1]上的'width'和'height'。 [image3]並使用'%'這樣的相對變體(所有與[image1]相關的變體)? – 2012-07-12 06:20:46

+1

你的意思是說根據時鐘圖像?因爲時鐘圖像的尺寸比其他圖像多。如果您將時鐘圖像的尺寸標註給.imageContainer。您將能夠以%爲單位設置其他圖像的其餘部分的尺寸。我更新了上面的代碼。 – Parag 2012-07-12 06:36:18

+0

那麼,最後一個問題(我在原始問題中沒有提到)是指示監視攝像機當前的轉角。 所有這些都可以在普通瀏覽器(大屏幕)**和**智能手機(小屏幕)下工作。這就是爲什麼我不想在像素前使用%。 ----- 我將爲此拍攝三張照片:一張監控圖像(由上面的蝴蝶圖像描繪),一張量角器圖像和一張箭頭圖像。監控圖像每秒通過javascript更新,量角器角度取決於相機的位置,箭頭始終指向上方。 – 2012-07-12 06:51:01