CSS z-index不起作用(使用相对定位,使用顶部和左侧)
CSS z-index Not Functioning (relative positioning used, top and left used)
我有以下代码使"b"(div)位于"更多文本"(文本节点)之上:
JavaScript、HTML和输出:
function InsertDetails() {
document.getElementById("UI-Slide-Content").focus();
var HTMLToInsert = "div";
var sel, range, html;
var text = HTMLToInsert;
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
range.insertNode(document.createTextNode("More text"));
var b = document.createElement("div");
b.style.zIndex = "2";
b.style.position = "relative";
b.style.backgroundColor = "lightGray";
b.appendChild(document.createTextNode("Details"));
b.style.padding = "5px";
range.insertNode(b);
var a = document.createElement(text);
a.setAttribute("onclick", "DetailsSwitch(this);");
a.style.backgroundColor = "buttonFace";
a.innerHTML = "▼ Summary";
a.style.padding = "5px";
range.insertNode(a);
}
} else if (document.selection && document.selection.createRange) {
//MessageBox("Feature Not Supported", "This feature does not work in Internet Explorer.");
}
}
function DetailsSwitch(a) {
var allDivs = document.getElementsByTagName("div");
var c = 0;
var d = a;
var e = null;
while (c < allDivs.length) {
if (allDivs[c] == d) {
e = allDivs[c + 1];
}
c++;
}
if (e.style.display == "block") {
e.style.display = "none";
d.innerHTML = d.innerHTML.replace("▼ ", "▶ ");
} else {
e.style.display = "block";
d.innerHTML = d.innerHTML.replace("▶ ", "▼ ");
}
}
<div id="UI-Slide-Content" contenteditable style="border: 1px solid black; width: 100%; height: 100%;">UI-Slide-Content</div>
<button onclick="InsertDetails();">Insert Details Pane</button>
尝试单击"插入详细信息窗格"按钮,这将插入一个用户可以编辑的详细信息窗格(不使用本机HTML <details/>
标记)。我希望详细信息显示在"摘要"框下方(y轴上)和"更多文本"文本节点上方(z轴上)。
但是,它不起作用当窗格打开时,"更多文本"会下移。我希望通过使用z-index
使详细信息窗格的详细信息框位于"更多文本"上方,使"更多文本"不移动。它不起作用。
我读过很多类似的问题,发现
使用"顶部"answers"左侧"属性可以有所帮助(CSS z索引不适用于相对定位)
使用相对定位也可能有助于(另一个问题)
但后来,我尝试了这两种,但都没有成功。
有人能帮帮我吗?提前谢谢。
尽管一些网站声称。。。
z索引仅适用于已定位的元素(位置:绝对,位置:相对,或位置:固定)
唯一的W3代码示例使用CCD_ 3。因此,我们不能使用position:relative
来让元素堆叠在一起。
参见2015年10月CSS 3 WG规范中的示例16:https://drafts.csswg.org/css-position/#propdef-z指数
这里有一个jsFiddle,它说明了如何使用position:absolute;
将浅灰色框放置在深灰色按钮上
相关文章:
- 我可以获得相对于被点击元素的确切点击位置吗
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- jQuery粘性插件可变顶部间距
- 使用jQuery更改元素的顶部位置
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 可以用'吗/'在相对路径中
- 抵消在具有pageY计算的相对容器中位于顶部
- Android默认浏览器:谷歌地图制作“;位置:相对;元素在页面顶部滚动
- CSS z-index不起作用(使用相对定位,使用顶部和左侧)
- 获取元素相对于视口顶部的位置
- 如何相对于窗口顶部定位弹出窗口
- 如何获得iframe相对于顶部窗口的位置's视口
- 如何在更改元素的相对顶部时转换元素
- offset().顶部相对于窗口顶部的偏移量
- 如何使文档(页面)向左和顶部以及相对于正文的滚动(向左和顶部滚动)
- Skrollr相对于顶部底部在chrome中较早着火
- 如何在图像顶部放置标记,标记的位置相对于图像给出
- 为什么元素的相对定位有时会返回窗口(0,0)的顶部,而在其他地方会正确返回
- 获取相对定位元素的绝对顶部和底部
- 假位置固定在Div内,但相对于窗口顶部,而滚动