Android中显然存在一个错误View.bringToFront.
如果我将视图排列在GridView中并希望通过调用bringToFront()将View带到前面,它可能会移动到GridView中的右下角位置.
那里有一些阴暗的东西,所以我不能使用bringToFront().当我不打电话时,一切正常.但是视图重叠 - 如果我使用缩放动画来放大视图,它会被视图部分遮盖到底部和右边.
我已经检查了bringToFront的源代码,它调用了parent.bringChildToFront(...)
这是这种方法
public void bringChildToFront(View child) {
int index = indexOfChild(child);
if (index >= 0) {
removeFromArray(index);
addInArray(child, mChildrenCount);
child.mParent = this;
}
}
Run Code Online (Sandbox Code Playgroud)
它显然从自身中删除了视图!无情地!ViewGroup是如此愚蠢,以至于无法以任何其他方式管理Z-index,从而改变控制?显然,当GridView删除它的子进程然后再将其添加回来时,它会被放置在Grid的末尾!
有什么我可以做的,以显示一个视图在其他人之上,而不诉诸一些黑客?我想到的一件事是在GridView上面创建另一个View,它看起来就像我试图带来ToTront()的那个,但我不喜欢这个解决方案.
我在IE8中遇到z-index问题(其他IS尚未测试):
以下JS创建了一些html/css:
document.write('<img id="' + sas_Banderole.getObjId('cb') + '" src="' + cburl + '" style="position:absolute; top:5px; cursor:pointer;" onclick="sas_Banderole.trigger();" border=0>');
document.write('<div ID="closeReminder" style="z-index:10000; background-color:transparent; text-align: right; display:none; width:30px; height:100px; right: 0px; position:absolute; top:5px; cursor:pointer; color:fff; font-size:10px;" onclick="reminder_close();" border=0> </div>');
document.write('</div>');
Run Code Online (Sandbox Code Playgroud)
结果应该是,我有:
DIV必须在IMG前面,并且应该符合css.
在FF,CHrome,Opera等它正在工作,但在IE8中,该层正在放置图像.我不明白,为什么......
我发现,如果我给图层一个背景颜色(蓝色),div就会放在图像前面,不幸的是,如果我给它背景颜色"透明"(它必须是不可见的)
有人有线索吗?谢谢你的帮助,
最好的,德克
我有一个下拉菜单,其中包含以下html结构:
<ul class="menu">
<li><a href="">Menu Item 1</a>
<ul class="sub-menu">
<li><a href="">Sub Menu Item 1</a></li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我有以下css规则:
.menu {float:left}
.menu > li {position:relative; float:left}
.menu > li > a {display:block}
.sub-menu {display:none; z-index:100; position:absolute; top:40px; width:180px;}
Run Code Online (Sandbox Code Playgroud)
我正在使用javascript来显示下拉菜单.
我遇到的问题是子菜单出现在我靠近导航的幻灯片下面.无论我设置.sub菜单的z-index有多高或多低,都没有变化.
有谁知道什么可能触发z-index根本不起作用?
谢谢.
编辑:问题出在所有浏览器上.在Firefox,Chrome和Internet Explorer中进行测试
我在我的页面上使用z-index(不再需要链接),并且它无法正常工作:它不会将某些div放在所有其他div之上...
您可以通过单击左侧或右侧栏中的某个项目自行查看.然后,掩码将淡入,但在其下方显示消息框.我已经尝试了很多,但我无法将消息框显示在所有其他人之上......
我该怎么做才能解决这个问题? [注意:下面第2个问题!]
如果您不想检查页面,则消息框位于其他一些div中:
<div>
<div>
<div>message box</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS定位是这样的:
.window {
position: fixed;
left: 0px;
top: 0px;
z-index: 100;
}
Run Code Online (Sandbox Code Playgroud)
我使用position:fixed,因为position:绝对不是绝对的,div不是与body对齐,而是某种其他方式. 有没有办法重新定位它和绝对位置呢?
我在处理我们正在处理的应用程序的z-index顺序时遇到问题,我有两个根父母,一个导航栏和一个地图,还有一个孩子,即地图工具提示.导航栏应该在地图上方可见,因此它具有更高的z-index,但问题是使地图容器中的工具提示也显示在侧边栏上,有点难以解释,因此您可以将其可视化http://jsbin.com/afakak/2/edit#javascript,html,live上的案例:
<div id="nav-bar">
The nav bar
</div>
<div id="map-container">
This is the map container
<div id="tooltip">
This is the Tooltip
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我在z-index和定位方面遇到了一些问题.基本上,当您将鼠标悬停在菜单项(主页,大约等)上时,应在菜单下方加载油漆溅:
http://www.saradouglas.net/home
当每个splash div设置为绝对定位时,这工作正常,但我意识到这些将出现在不同屏幕分辨率的不同位置.我认为只是将其改为相对定位,然后相应地调整坐标.不幸的是现在我的飞溅没有出现在菜单下面,就像他们应该的那样.
为了澄清,我希望在菜单下显示飞溅 - 因此菜单应始终显示在飞溅的顶部.这只是一个问题,因为将菜单设置为相对,这些溅到绝对.
我希望这是一个简单的解决方法,我只是遗漏了一些东西.我希望有人能告诉我哪里出错了并提供解决方案!
到目前为止已经提交了一些很好的答案,但不幸的是他们没有解决我的问题.我已经尝试将菜单背景添加到ul类而不是div,但这对问题没有任何影响.
我有以下div设置,只适用于IE9.在Moz和Webkit上,onclick不会触发.如果我将z-index变为0,则onclick可以工作,但我对网站中的其他元素有可见性问题.有没有办法通过负z-指数获得onclick?
<div id="adbg" style="margin: 0pt auto; height: 1000px; width: 100%; position: fixed; cursor: pointer; z-index: -1;">
<div OnClick="window.open('/bgClicks/2');" style="background: #fff url('http://www.example.com/img/bg/w_1.jpg') no-repeat center top fixed; height: 100%; width: 100%; margin: 0pt auto; cursor: pointer;"></div>
</div>
<div id="wrapper">
Run Code Online (Sandbox Code Playgroud) 我drop-down在标题中使用菜单进行通知,但是当下拉列表打开时所有可见的div后面都打开了,那么我将z-index所有div 都给了,但是这些div上的链接现在无法单击!
下拉div CSS:
.drop-down{
overflow:scroll;
overflow-x:hidden;
}
Run Code Online (Sandbox Code Playgroud)
而div的背后是
#main-div{
z-index:-1;
position:absolute;
}
Run Code Online (Sandbox Code Playgroud) 我在这里有这个页面:http://artendijen.com/product/animals-stream/并且右侧有链接,但是我无法点击它们...有谁知道为什么?
左边:
<nav class="woocommerce-breadcrumb" itemprop="breadcrumb"><a class="home" href="http://artendijen.com">Home</a> / <a class="home" href="/shop">Gallery & Shopping</a> / <a href="http://artendijen.com/product-category/small/#108">Small</a> / Animals by the Stream</nav>
Run Code Online (Sandbox Code Playgroud)
右边:
<ul style="float:right;" class="shoppingBread"><li><a href="/product-category/prints-notecards">Prints & Notecards</a></li><li><a href="/product-category/background-information">Background Information</a></li><li><a href="/cart">Cart</a></li></ul>`
Run Code Online (Sandbox Code Playgroud)
左侧的CSS:
.woocommerce .woocommerce-breadcrumb, .woocommerce-page .woocommerce-breadcrumb {
float: left;
z-index: 99999;
position: relative;
margin: 0 0 1em;
padding: 0;
font-size: .92em;
color: #777;
}
Run Code Online (Sandbox Code Playgroud)
右侧的CSS只是向右浮动,但这里是右侧列表项的CSS:
.shoppingBread li {
padding-bottom: 5px;
text-align: right;
}
Run Code Online (Sandbox Code Playgroud) 如何找到元素的堆叠上下文?或者,如何找到控制z-index后代的元素的祖先元素?
我有一个非常复杂的页面,其中包含嵌套表,div。并z-index隐藏了一个绝对高的盒子。
在通过有条不紊地遍历元素的祖先,直到找到在何处添加z-index值和位置值以创建新的堆栈上下文之前,我已经解决了这些问题。
但是我似乎无法以这种方式解决这个问题。
是否有一个工具(在浏览器的开发人员工具中或在Javascript中)可以在其中提供element的工具A,并且它返回类似以下内容:
“元素A是从元素B开始的堆栈上下文的一部分,元素B是从元素C开始的堆栈上下文的一部分,元素C是页面的根堆栈上下文的一部分”
帮帮我,你是我唯一的希望。