为啥 CSS 中的“光标:指针”效果不起作用

Posted

技术标签:

【中文标题】为啥 CSS 中的“光标:指针”效果不起作用【英文标题】:Why is "cursor:pointer" effect in CSS not working为什么 CSS 中的“光标:指针”效果不起作用 【发布时间】:2013-08-28 09:10:00 【问题描述】:

我将cursor: pointer 设置为.about > span,但是当我的鼠标悬停在<span> 中的这些文本上时,光标不会变为指针模式。我想知道为什么它不起作用。

html

 <div id="firstdiv">
      <div id="intro">
          <h1 id="name">YOU CHIA LAI</h1>
              <ul>
                  <li class="about">I am a Master of <span>Architecture</span>  
                   candidate at Rice University.  
                  </li>
                  <li class="about">I am also interested in <span>photography</span> &        
                  <span>web design</span>.</li>
                  <li class="about">I wish you can know more <span>about</span> me.
                  </li>
             </ul>
      </div>
  </div>

CSS:

#firstdiv 
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:100%;
    width:100%;
    margin:auto;
    background:#E6E6E6;
    text-align:center;
    font-size:0;
    z-index:-2

.about > span 
    cursor:pointer;
    font-family:Eurofurence Light;
    padding:0 0 3px 0;
    color:#01DFA5;

【问题讨论】:

#firstdiv 中删除z-index:-2 并查看why you shouldn't just paste a link to your demo page。 奇怪地和我一起工作,会是z-index,这个故障发生在哪个浏览器中? +1 @MarcelGwerder 【参考方案1】:

您需要更改 z-index,以便将 #firstdiv 视为在其他 div 之上。

【讨论】:

batter ans is ==> : pointer-events: none; @lalitbhakuni 这是不正确的,实际上阻止了光标完全改变......【参考方案2】:

还添加光标:手。有些浏览器需要它。

【讨论】:

Are you really talking and caring about IE 5/5.5? 或基于 IE5 的混合浏览器......就像在一些大公司中使用的那样。我真的为此被否决了3次!?真的没有留下深刻的印象,对 Stack Overflow 感到羞耻。【参考方案3】:

如果您从 #firstdiv 中删除 position:fixed,它会起作用 - 但 @Sj 可能也是正确的 - 很可能是 z-index 分层问题。

【讨论】:

【参考方案4】:

我把我的 CSS 搞砸了好几个小时,改变了页面上几乎每个元素的位置和 z-index。我从 DOM 中删除了所有其他元素,除了带有光标的元素:指针悬停时,它仍然不起作用。

对我来说,在 Mac OSX El Captain V 10.11 上,问题与 Photoshop CC 的某种干扰有关。关闭 Photoshop 后,光标又开始工作了。

我的解决方案:关闭并重新打开 Photoshop

显然,这可能是由于许多不同的程序,包括 Photoshop、Sketch、DataGrip、Acrobat、Sublime Text 等而发生的。

【讨论】:

在 OS X 的所有浏览器(chrome、safari、firefox)中都发生了这种情况。开始一个一个地关闭程序,直到我发现是在第二个屏幕上处于全屏模式的 Sublime Text 3 导致了这个问题的发生。但是,这个答案与原始问题无关。 我看到了这个备受赞誉的解决方案,并认为这是某种错误,因为另一个程序与我在浏览器中无法正常工作的 CSS 有什么关系。但是,果然,关闭 Photoshop(在我的例子中是 2022 版本)立即解决了这个问题。很高兴我在进入一个不必要的 CSS 调整兔子洞之前尝试了这个。 非常感谢,这一直困扰着我多年!关闭 Photoshop 有帮助!【参考方案5】:

刚刚发生在我身上,在我的情况下,这是由于在父元素上设置的 CSS 规则 pointer-events: none; 而我忘记了它。

这导致任何指针事件都被忽略,包括光标。

要解决此问题,您只需将样式设置为允许指针事件:

.about>span
    cursor:pointer;
    pointer-events: auto;

或者直接在元素中:

<span style="pointer-events: auto;">...</span>

【讨论】:

pointer-events:自动修复光标指针,但不再触发点击时的预期动作【参考方案6】:

cursor:pointer 在您使用 Chrome 的移动模拟器时不起作用。

【讨论】:

我认为这是故意的或至少是预期的行为,因为移动设备上没有光标,可能除了文本选择之外,这取决于操作系统,不确定您是否可以覆盖它。 我曾经在 chrome 中遇到过同样的问题(但在移动模拟器中没有)。所以我打开和关闭“移动模拟器”,chrome回到正确的阶段。 ;-D【参考方案7】:

我在使用 Angular 和 SCSS 时遇到了这个问题。我的所有 CSS 都嵌套了,所以我决定从其中删除 cursor: pointer;。它奏效了。

例子:

.container
  .Approved
    color:green;
  

  .ApprovedAndVerified
    color:black;
  

  .lock_button
    font-size:35px;
    display:block;
    text-align:center;
  


.lock_button
  cursor:pointer;

【讨论】:

【参考方案8】:

将元素定位为相对,然后使用z-index

.menu-toggle 
    display: block; 
    width: 40px; 
    height: 40px; 
    border:2px solid white; 
    border-radius: 5px; 
    margin: 15px; 
    float: right; 
    cursor: pointer; 
    text-align: center; 
    font-size: 30px; 
    color: var(--light-bg-color); 
    z-index: 10; 

【讨论】:

【参考方案9】:

我的问题是:after 阻止了鼠标事件,所以我必须将pointer-events: none; 添加到我的:after 块中。

【讨论】:

【参考方案10】:

我有同样的问题,当我关闭 chrome 窗口弹出浏览器检查器时,它对我来说工作正常。

【讨论】:

【参考方案11】:
position: relative;
z-index: 2;
cursor: pointer

为我工作。

【讨论】:

【参考方案12】:

对我有用的解决方案是在从本地目录“呼出”时使用正斜杠而不是反斜杠。

而不是反斜杠:

cursor: url("C:\Users\Ken\projects\javascriptGames\images\bird.png"), auto;
注意:当我使用反斜杠时,我得到一个 net::ERR_FILE_NOT_FOUND

我把它改成了正斜杠:

cursor: url("C:/Users/Ken/projects/JavascriptGames/images/bird.png"), auto;
注意:当我使用正斜杠时,自定义光标样式执行成功。

关于反斜杠和正斜杠的这种行为可能可以在 *** 答案中得到解释:Strange backslash and behavior in CSS

【讨论】:

【参考方案13】:

在过去的几个小时里,我一直在摸索为什么我的 CSS 不起作用!我试图将row-resize 显示为光标,但它显示了默认光标,但s-resize 浏览器显示了正确的光标。我尝试更改z-index,但这也没有解决我的问题。

因此,在尝试了更多来自互联网的解决方案后,我打电话给我的一位同事并通过 Google meet 分享了我的屏幕,他告诉我,当我看到默认图标时,他看到了行调整大小图标! !他甚至把我的截屏截图发给我。

所以经过进一步调查,我发现当我使用远程桌面连接连接到我的办公室电脑时,由于某种原因,RDC 没有显示某种类型的光标。

这是我在远程 PC 上看不到的光标列表,

none, cell, crosshair, text, vertical-text, alias, copy, col-resize, row-resize,

【讨论】:

【参考方案14】:

我的问题是错误地使用了cursor: 'pointer' 而不是cursor: pointer。 因此,请确保您没有在指针周围添加单引号或双引号。

【讨论】:

【参考方案15】:

我找到了解决方案:如果没有其他帮助,请使用 :hovercursor: pointer

【讨论】:

【参考方案16】:

阻止用户选择文本,然后使用curser:pointer 属性-

.targeted-span
user-select: none;
curser : pointer;

【讨论】:

【参考方案17】:

对我来说,问题是我在全局范围内设置了这个:

::-webkit-scrollbar 
  display: none;

删除后,cursor: pointer 可以正常工作。

【讨论】:

以上是关于为啥 CSS 中的“光标:指针”效果不起作用的主要内容,如果未能解决你的问题,请参考以下文章

html中,为啥有的css样式在样式表里不起作用?!

css代码里的margin为啥不起作用

css 为啥有时MARGIN 不起作用,

多维动态数组,为啥不起作用?

转换功能和光标:指针不起作用

为啥我在 Vue 中的移动标签效果不起作用?