防止在工具提示容器上悬停效果

时间:2018-01-16 12:37:46

标签: html css

我创建了一个工具提示文件



[tooltip]:before {
  content: attr(tooltip);
  position: absolute;
  opacity: 0;
  right: 0;
  top: 110%;
  z-index: 9999;
  color: #ffffff;
  background: #333333;
  padding: 10px;
  transition: all 0.5s ease;
}

[tooltip]:hover:before {
  opacity: 1;
}

[tooltip] {
  position: relative;
}





/* other stuff */

#container {
  width: 150px;
  height: 50px;
  background: red;
}

<div id="container" tooltip="Tooltip">Div with tooltip</div>
&#13;
&#13;
&#13;

它工作得很好但是当悬停在工具提示位置时,悬停效果也会触发。将鼠标悬停在工具提示附加到的元素上时,只会触发悬停效果。

如何在悬停元素时才显示工具提示?

2 个答案:

答案 0 :(得分:2)

您可以从工具提示中删除pointer-events

&#13;
&#13;
[tooltip]:before {
  content: attr(tooltip);
  position: absolute;
  opacity: 0;
  right: 0;
  top: 110%;
  z-index: 9999;
  color: #ffffff;
  background: #333333;
  padding: 10px;
  transition: all 0.5s ease;
  pointer-events: none;        /* add this */
}

[tooltip]:hover:before {
  opacity: 1;
}

[tooltip] {
  position: relative;
}





/* other stuff */

#container {
  width: 150px;
  height: 50px;
  background: red;
}
&#13;
<div id="container" tooltip="Tooltip">Div with tooltip</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

pointer-events: none;添加到工具提示类。

它会禁用元素上的鼠标事件(单击,拖动,悬停等)。

希望这会有所帮助:)

[tooltip]:before {
  content: attr(tooltip);
  position: absolute;
  opacity: 0;
  right: 0;
  top: 110%;
  z-index: 9999;
  color: #ffffff;
  background: #333333;
  padding: 10px;
  transition: all 0.5s ease;
  pointer-events:none;
}

[tooltip]:hover:before {
  opacity: 1;
}

[tooltip] {
  position: relative;
}





/* other stuff */

#container {
  width: 150px;
  height: 50px;
  background: red;
}
<div id="container" tooltip="Tooltip">Div with tooltip</div>