【发布时间】:2021-06-07 01:19:58
【问题描述】:
我在一个网站上有几个人的照片(用 php 制作的),想获得以下信息:当光标移到一个人的脸上时,这个人的名字显示在底部照片。经过大量搜索后,我在另一个网站上找到了一些与我想要的代码接近的代码,在我改变了一些事情之后,我得到了它(大部分)我想要的东西,但我真的不太了解它,我是确信必须有一种更简单的方法来做到这一点。代码复制如下。当光标位于第一个“热点”类指定的位置时,文本“Name1”出现在照片底部,当光标位于第二个“热点”类指定的位置时,文本“Name2”出现.
这些是我的问题:
- 谁能解释一下它是如何工作的,是否可以简化
- 为什么如果我将 Name1 替换为 FirstName LastName 输出是在两个不同的行上。除了将 FirstName、LastName 放置在单行表中之外,似乎没有什么可以解决此问题,即使如此,单词之间的间距也不正确且无法控制
- 为什么此代码仅适用于 Google Chrome 或 Firefox,但不适用于 Safari 或 Windows 浏览器。
感谢任何提示,即使是部分提示。
第一批代码是css文件,其他是php文件
.hotspot {
position: absolute;
}
.hotspot + * {
pointer-events: none;
opacity: 0;
}
.hotspot:hover + * {
opacity: 1;
}
.wash {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: rgba(255, 255, 255, 0.6);
}
<div style="position: relative; height: 1px; width: 1px;">
<img src="photo.jpg" width=900px>
<div class="hotspot" style="top: 195px; left: 277px; height: 50px; width: 50px;">
</div>
<div>
<div class="wash"></div>
<div style="position: absolute; top: 900; left: 300px;font-size:35px;">
Name1
</div>
</div>
<div class="hotspot" style="top: 202px; left: 337px; height: 50px; width: 50px;">.
</div>
<div>
<div class="wash"></div>
<div style="position: absolute; top: 900; left: 300px;font-size:35px;">
Name2 </div>
</div>
【问题讨论】:
-
这是一个 CSS/浏览器问题。 PHP 不相关。您可能可以更轻松地使用 JS 实现您想要的。
-
@user3783243 你能告诉我如何用JS来做吗?
-
对不起,我是 PHP 方面的。我做的JS不多。不过,我会先研究那条路线。听起来类似于 facebook 的标签,所以 1stwebdesigner.com/image-tagging-tutorial 可能对你有帮助?
标签: javascript css onmouseover