0
我想用另一個元素覆蓋現有的任意元素。我發現的所有現有答案都要求將要覆蓋的元素具有相對位置。但是,我不能控制這一點。用另一個覆蓋任意元素
例如,給定一個p元素,我想用div元素完全覆蓋它。 p元素可能沒有相對位置。
這可能嗎?如果是這樣,我怎麼能實現這個(最好沒有jQuery)?
謝謝!
我想用另一個元素覆蓋現有的任意元素。我發現的所有現有答案都要求將要覆蓋的元素具有相對位置。但是,我不能控制這一點。用另一個覆蓋任意元素
例如,給定一個p元素,我想用div元素完全覆蓋它。 p元素可能沒有相對位置。
這可能嗎?如果是這樣,我怎麼能實現這個(最好沒有jQuery)?
謝謝!
感謝@epascarello。
var elementToCover = ...;
var rect = elementToCover.getBoundingClientRect();
var overlayElement = document.createElement("div");
overlayElement.style.position = "absolute";
overlayElement.style.zIndex = "999";
overlayElement.style.top = rect.top + "px";
overlayElement.style.left = rect.top + "px";
overlayElement.style.width = (rect.right - rect.left) + "px";
overlayElement.style.height = (rect.bottom - rect.top) + "px";
所以你不能調整樣式來添加相對位置嗎? – epascarello
它是否必須是一個獨特的元素? ergo,no':before'或':after' tricks – Roberrrt
@epascarello我擔心這可能會改變頁面,這不是我被允許做的事情。我試圖在Chrome開發人員工具上「突出顯示」某個元素,而無需更改相關頁面。 – mikeecb