2013-06-19 36 views
0

我創建了一個新的div並將其添加到所有圖像的網頁上進行如下:JavaScript的絕對位置

var images = document.getElementsByTagName('img'); 
     for (var i = 0; i < images.length; i++) {  
var divLink = document.createElement("div"); 
    divLink.style.position = "absolute"; divLink.style.top = "10px"; divLink.style.right = "10px"; divLink.style.zIndex="1"; divLink.style.fontSize = "20px"; divLink.style.backgroundColor = "black"; divLink.style.color = 'white'; 
    divLink.innerHTML = linkCount; 
    images[i].parentNode.insertBefore(divLink, images[i]); 
} 

這是工作以及爲所有圖像除了包含在<ul>圖像。對於這些圖像,將每個divLink移動到<ul>的右側,並堆疊在另一個的頂部。如果我刪除了divLink.style.right = "10px";,divLink默認會移動到圖像的左側。

如何將divLink定位到圖像的右上角,以查看所有圖像,包括<ul>中的圖像。

回答

2

使用relative位置,而不是absolute

divLink.style.position = "relative"; 
0

如果添加poistion:絕對和提頂部/左/右/底部的元素往往堆疊在彼此。

有2種方法可以做到這一點:

1>不指定任何position.Let它保持 「靜態」。使用邊距屬性移動「圖像」。

如:

divLink.style.margin-top = "10px"; 
divLink.style.margin-right= "10px"; 
     OR 

2>使剛剛位置:絕對沒有提上/左/右/底部的屬性,這樣一來他們不會互相疊加。除非你不想使用top/left顯式移動「images」,否則這是沒用的。

0

似乎沒有必要給位置:絕對的圖像。 您可以簡單地追加圖像而不指定位置屬性,並使用邊距屬性移動圖像。

divLink.style.margin-top = "10px"; 
    divLink.style.margin-right= "10px";