安卓其:绝对定位素不尊重z索引
-
23-09-2019 - |
题
解决方案
这个问题可能是相关的控制以及他们正在特别为浏览器。而看着你的问题(在铬)我发现了一个相关的问题,当你按下表键你仍然能够重点输入的单元。你可能不想要这个或者(不论租赁物业).该方案是令人惊讶的是简单的,你写的脚本中添加 disabled
属性的所有输入/键。元素的复盖.一个残疾人投入 不能够接收 重点(通过键盘或其他),并击它应该是不可能的。
因为这也将禁用愚蠢的键盘航行它甚至不是一个解决方法,但一个更好的设计也适用键盘为基础的导航如预期的那样。
其他提示
要正确地回答这个问题读取错误页面是非常重要的。问题不是约低于输入的可见性,但其“可点击”。
我无法测试它,但这些都是可能的解决方法:
<强> 0 强>忘记绝对定位,只是把两个div那里和肘节可见度。
如果这不能满足你...
1 尝试设置CSS位置的绝对或相对所有a
和input
标签(是啊,这可能会迫使你重新编写CSS保留布局,但不值得吗?)
<强> 2 请一个<a>
标签容器:
<div style="z-index:100 etc."><a style="width: 100%; height:100%; z-index:101">
stuff here
</a></div>
这将需要一些更多的CSS使内容看行。但是,我希望这样的事情会解决这个问题。
如果1和2中不帮助试戴的两个是在一次)
3 如果它仍然发生你可能想详细检查时,您单击会发生什么。绑定点击的mousedown事件:link on top
,container on top
,input in the bottom
和记录它们。如果你得到任何这些事件的顶部链接,你可以尝试,并在某一时刻停止起泡或防止在底部的输入事件。
这将是困难的,但我能有点帮助。 jQuery的将是相当必要的。
过去修复这个问题对于即包括但可能不限于以下列表。这些可能有助于解决该问题在安卓你。
把一个框架后面绝对的内容。该框架可能掩盖这些要素给你
当你绝对的内容,隐藏的所有问题要素与JavaScript
定义div是在相反的顺序
点数1被认为是最可靠的修正即,但可能不是最好的解决。
此添加到每一个创建问题元素的CSS:
-webkit-backface-visibility: hidden;
模拟输入端和用的DIV。
[PSEUDO JQUERY CODE]
<div href="http://google.com" rel="a">Link</div>
<div class="field">
<div></div>
<input type="text" style="display: none" />
</div>
<script>
$('div[rel=a]).click(function() {
location.href = $(this).attr('href');
});
$('.field > div').click(function() {
$(this).hide();
$('.field > input').show();
});
$('.field > input').blur(function() {
$(this).hide();
$('.field > div').html($(this).val()).show();
});
</script>
IE具有此相同的问题和解决方案有确保每个被涉及的定位,甚至它们的容器元件具有的z-index施加到它们。基本上,如果你在DOM中添加的z-index为1元,然后IE得到理解其z位置,但它的Z相对位置不明白什么的旁边,和/或通过。
容器 - z索引0,点击 孩子(顶部容器) - z-index的1个结果 子2(上述全部) - z索引999
当然,这是所有基于笨IE但其价值在机器人还
一试第二次尝试:)
我不熟悉的,在所有的Android浏览器,但我希望,也许导致你解决您的问题的路径。快鱼是已经实现了,当他们在浏览器下拉在选择框的z-index菜单项的解决方案一个javascript菜单。 BgIframe的是,他们用它来实现这一目标的JS。你的答案可能在于那里,希望
把下HTML在一个div和设置显示:使用javascript无,所以则下内容消失了,而不是被点击和模态
如果你想解决这个问题,首先必须添加的z-index于母公司的包装,并明确添加的z-index到其他因素,解决办法是,所有元素都会有零点anderstanding Z-index属性正确地