我们的网站有一个典型的多级下拉菜单。所以它是在高z指数的固定DIV上。 (例如,Wordpress管理员。每个链接的文本颜色都是黑色的,带有透明背景。)问题是在某些页面上,这些菜单项难以阅读,因为下面可能有一个图像,所以透明背景使文本模糊。
是否有一种方法可以让菜单项检测到在同一位置的较低z-index处有图像(或具有相似深色的div)?这样,我可以使用JS或jQuery有条件地为这些特定页面上的那些菜单项设置更浅的颜色。
在CSS中有混合混合模式属性,它不适用于图像,但这有点像我正在寻找的 - 一种检测底层颜色的方法并相应地调整文本的颜色,使其始终清晰。
答案 0 :(得分:1)
只使用javascript即可从这里开始:Getting the z-index of a DIV in JavaScript?
因为你想一次搞定多个项目的z-index,所以如果你使用jQuery会更容易看到这里:https://api.jqueryui.com/zIndex/
使用jQuery,您可以选择属于下面图像边界框定义的屏幕特定区域内的元素,并具有更大的z-index值,并为它们添加一个类,从而消除透明质量。
正如@charlietfl在评论中指出的那样,对于可以更简单地实现的事情来说,这是一项很多工作。