防止光标在重叠时改变
Prevent Cursor from changing on overlap
我正在为一个正在建设中的站点编写 CSS 和 HTML,我不太熟悉需要编写代码的内容。
我已经根据请求创建了一个位于屏幕左侧的导航菜单,并在单击时展开以部分覆盖页面内容,允许用户在不需要时显示和隐藏导航。
导航在打开时重叠的内容是一堆表格,带有可点击的单元格和可调整大小的列(即,它们将光标更改为指针,让用户知道他们可以使用 cells/table 列)
但是当导航扩展到页面内容时,我仍然发现它后面的光标变化,使它看起来可以在错误的位置点击。
任何人都可以指出正确的方向,告诉我如何防止页面上的元素获取其后面元素的光标更改吗?
我可能可以在导航栏打开和关闭时使用 javascript 动态更改 CSS (打开时删除光标,关闭时将其添加回来)但我正在寻找一个更简单和更通用的修复程序以后也会用到。
听起来您需要为每个元素设置 z-index 属性。
如果您在创建元素时未指定 z-index,它们将被自动编入索引,您在创建导航后创建的任何元素将默认具有更高的 z-index。
确保您的所有元素都有一个 z-index,并且导航的 z-index 比它将重叠的元素高,例如:
.nav {
z-index: 100;
}
.el1 {
z-index: 99;
}
.el2 {
z-index: 98;
}
等等,将其视为将您的元素彼此叠加在一起,如果一个元素的 z-index 高于另一个元素,它将位于该元素之上。
您可以使用 cursors
CSS 属性 (MDN) 强制光标以特定方式显示。见下文,我强制所有不是链接的元素都具有常规光标:
*:not(a) {
cursor: default
}
此外,请参阅 以正确配置 z-index
,这样此类事情就不会发生
我正在为一个正在建设中的站点编写 CSS 和 HTML,我不太熟悉需要编写代码的内容。
我已经根据请求创建了一个位于屏幕左侧的导航菜单,并在单击时展开以部分覆盖页面内容,允许用户在不需要时显示和隐藏导航。
导航在打开时重叠的内容是一堆表格,带有可点击的单元格和可调整大小的列(即,它们将光标更改为指针,让用户知道他们可以使用 cells/table 列)
但是当导航扩展到页面内容时,我仍然发现它后面的光标变化,使它看起来可以在错误的位置点击。
任何人都可以指出正确的方向,告诉我如何防止页面上的元素获取其后面元素的光标更改吗? 我可能可以在导航栏打开和关闭时使用 javascript 动态更改 CSS (打开时删除光标,关闭时将其添加回来)但我正在寻找一个更简单和更通用的修复程序以后也会用到。
听起来您需要为每个元素设置 z-index 属性。
如果您在创建元素时未指定 z-index,它们将被自动编入索引,您在创建导航后创建的任何元素将默认具有更高的 z-index。
确保您的所有元素都有一个 z-index,并且导航的 z-index 比它将重叠的元素高,例如:
.nav {
z-index: 100;
}
.el1 {
z-index: 99;
}
.el2 {
z-index: 98;
}
等等,将其视为将您的元素彼此叠加在一起,如果一个元素的 z-index 高于另一个元素,它将位于该元素之上。
您可以使用 cursors
CSS 属性 (MDN) 强制光标以特定方式显示。见下文,我强制所有不是链接的元素都具有常规光标:
*:not(a) {
cursor: default
}
此外,请参阅 z-index
,这样此类事情就不会发生