【问题标题】:trouble creating a tooltip创建工具提示时遇到问题
【发布时间】:2021-06-13 23:10:22
【问题描述】:

目标:我正在尝试创建一个工具提示,如果您将鼠标悬停在文本上,应该会出现一个工具提示。基本上,我想在 w3schools 重新创建这个示例。这是链接https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_tooltip

我的代码:

render() {
        return (
            <div >
                <h2>Tooltip</h2>
                <p>Move the mouse over the text below:</p>

                <div class = "tooltip">
                    Hover over me 
                    // <img src = "assets/images/react.png" alt="React / React Native" className = "icons"></img>

                    <span class = "tooltiptext">
                        Tooltip text 
                    </span>
                </div>
            </div>
            

        );
    }
.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
}

 .tooltip, .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: black;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: relative;
  right: 100px;
  z-index: 1;
  /* bottom: 125%; */
  left: 50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.3s;
}

.tooltip, .tooltiptext::after {
  content: "";
  position: absolute;
  /* top: 100%; */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.tooltip:hover, .tooltiptext {
  visibility: visible;
  opacity: 1;
}

旁注:我知道我在 CSS 中注释掉了一些定位样式,以便更容易找到。另外,我更喜欢将鼠标悬停在技术图标上并让它显示其名称,但首先我认为最好从简单开始。

结果:“悬停在我身上”文本和工具提示不显示;它看起来是白色的,所以你看不到它。但是,如果我将鼠标悬停在工具提示文本上,两个元素都会显示。我可以通过开发者工具弄清楚这些元素的位置。此外,工具提示无法正确显示。

【问题讨论】:

  • 请注意,在 JSX 中设置类属性时,您应该使用 className 而不是 class

标签: html css reactjs


【解决方案1】:

您似乎使用了错误的 CSS 选择器。您想使用.tooltip .tooltiptext 而不是.tooltip, .tooltiptext(无逗号),其他规则类似。第一个选择具有类.tooltiptext 的元素,它们是.tooltip 的后代。第二个选择具有.tooltip.tooltiptext 类的元素。

Documentation

【讨论】:

  • 谢谢,但我已经试过了,但还是不行。当我按照您提到的方式进行操作时,当我将鼠标悬停在它上面时,甚至什么都没有出现。但是,当我继续使用开发人员工具时,我仍然可以看到元素仍然存在......
  • 你能创建一个codeandbox并分享链接吗?
  • 这里是working version,去掉了逗号。也许您可以将其与您必须查看的内容进行比较,看看是否有任何不同。样式在styles.css
  • 我不知道为什么,但你的工作版本不适合我。这是我的“工作”版本,但它仍然不完全正确,但比我当前的 react 项目中的更接近。 codesandbox.io/s/tooltip-u4m9x?file=/src/styles.css.
  • 另外,你知道把你的css元素放在你的app.css而不是styles.css中会有什么不同吗?我不确定它是否只是名称不同,但我看到很多人使用 styles.css 来代替
猜你喜欢
  • 2021-11-02
  • 1970-01-01
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-26
  • 1970-01-01
相关资源
最近更新 更多