html - 仅在悬停在列表内时才会显示的溢出
问题描述
我一直试图让溢出框仅在将鼠标悬停在列表中文本的某个部分内时才显示。它有效,但由于某种原因,它使另一个 li 消失了。这是我的代码:
#firstid {
text-decoration: underline;
color: olivedrab;
}
#secondid {
display: none;
background-color: lightblue;
width: 110px;
height: 110px;
overflow: auto;
}
#firstid:hover~#secondid {
display: block;
}
<ol>
<li>
<a id="firstid">Text</a>
<a id="secondid">Text</a>
</li>
<li>Text</li>
</ol>
它可以正常工作,但是在我的列表中应该出现的内容消失了。这可能是因为一些愚蠢的错误,但我已经坚持了一段时间,无法在网上找到答案。任何帮助将不胜感激(:
解决方案
您遇到的问题是以数字开头的 ID 选择器不是有效的css 选择器。我将它们更改为字母,它可以工作。
#a {
text-decoration: underline;
color: olivedrab;
}
#b {
display: none;
background-color: lightblue;
width: 110px;
height: 110px;
overflow: auto;
}
#a:hover~#b {
display:block;
}
<ol>
<li>
<a id="a">Text</a>
<a id="b">Text</a>
</li>
<li>Text</li>
</ol>
从技术上讲,ID 是有效的 HTML ID,但不是有效的 CSS 选择器。
有关更多详细信息,请参阅此答案:
https://stackoverflow.com/a/31773673/1068446
或者 - 您可以转义 CSS 中的数字:
#\31 {
text-decoration: underline;
color: olivedrab;
}
#\32 {
display: none;
background-color: lightblue;
width: 110px;
height: 110px;
overflow: auto;
}
#\31:hover~#\32 {
display:block;
}
<ol>
<li>
<a id="1">Text</a>
<a id="2">Text</a>
</li>
<li>Text</li>
</ol>
\3 的解释它将以下字符串转义为unicode 值- 在这种情况下,数字以 0030 开头。
推荐阅读
- java - Android (Java) - 通过电子邮件查找联系人并预览(如果存在)
- asp.net - asp.net Web 表单中的 Microsoft Graph 访问令牌过期 - 如何在 Web 表单应用程序而不是 MVC 中刷新令牌
- java - HttpClientErrorException.getStatusText 和 HttpClientErrorException.getResponseBodyAsString 之间的区别
- python - 如何在正确继续程序的同时终止循环?
- if-statement - 不尊重 if 语句
- ios - 断点调试器命令中的“po $arg1”和“bt”有区别吗?
- auto-keras - AutoKeras 中需要 final_fit 吗?
- vue.js - Vue 如何检查实例化?
- mongodb - 作为服务启动时出现未知错误的 Mongodb 错误
- node.js - 文档上的猫鼬模式数组属性不断变化