css 悬停前 :before 的异常行为
css unusual behaviour for :before on hover
我有一个带有这个免费主题的 wordpress 网站:https://wordpress.org/themes/minimal-grid/
我看到了一些不正常的行为,这不是问题,我可以通过删除该元素来解决,但我不知道为什么会这样,我想了解它。
在每个post的末尾,上一个post和下一个post都有一个link。当我将鼠标悬停在这些上时,元素的背景会稍微变暗。在有图像作为背景的地方,它不会消失,只会变暗。这是一个演示页面:https://5diraptor.com/todoist-task-project-manager/
不寻常的部分是似乎没有任何 :hover
选择器实际告诉它这样做,所以我想了解为什么会这样。下面是 HTML:
<nav class="navigation post-navigation" role="navigation" aria-label="Posts">
<h2 class="screen-reader-text">Post navigation</h2>
<div class="nav-links">
<div class="nav-previous">
<a href="https://5diraptor.com/vivaldi-browser/" rel="prev">
::before
<span class="meta-nav" aria-hidden="true">Previous</span>
<span class="screen-reader-text">Previous post:</span>
<span class="post-title">Vivaldi Browser</span>
</a>
</div>
<div class="nav-next">
<a href="https://5diraptor.com/wordpress-development/" rel="next">
::before
<span class="meta-nav" aria-hidden="true">Next</span>
<span class="screen-reader-text">Next post:</span>
<span class="post-title">WordPress Development</span>
</a>
</div>
</div>
</nav>
这些元素中的任何一个都没有改变背景颜色的 :hover 选择器。但是,当我删除 Chrome 开发工具中的 ::before
元素时,悬停过渡不再发生。
我不明白的是 ::before
pseudo-element 上没有 :hover
选择器,也没有应用与此相关的 CSS 颜色 - 请参阅屏幕截图。 mouseover
也没有事件侦听器,所以我很确定这不是 Javascript。
我无法强制元素状态悬停 pseudo-element 秒,所以我不确定如何进一步调试它。谁能帮我理解为什么会这样?
看到它有父级悬停状态的样式 nav-previous
并且该规则适用于悬停时的伪元素。
我有一个带有这个免费主题的 wordpress 网站:https://wordpress.org/themes/minimal-grid/
我看到了一些不正常的行为,这不是问题,我可以通过删除该元素来解决,但我不知道为什么会这样,我想了解它。
在每个post的末尾,上一个post和下一个post都有一个link。当我将鼠标悬停在这些上时,元素的背景会稍微变暗。在有图像作为背景的地方,它不会消失,只会变暗。这是一个演示页面:https://5diraptor.com/todoist-task-project-manager/
不寻常的部分是似乎没有任何 :hover
选择器实际告诉它这样做,所以我想了解为什么会这样。下面是 HTML:
<nav class="navigation post-navigation" role="navigation" aria-label="Posts">
<h2 class="screen-reader-text">Post navigation</h2>
<div class="nav-links">
<div class="nav-previous">
<a href="https://5diraptor.com/vivaldi-browser/" rel="prev">
::before
<span class="meta-nav" aria-hidden="true">Previous</span>
<span class="screen-reader-text">Previous post:</span>
<span class="post-title">Vivaldi Browser</span>
</a>
</div>
<div class="nav-next">
<a href="https://5diraptor.com/wordpress-development/" rel="next">
::before
<span class="meta-nav" aria-hidden="true">Next</span>
<span class="screen-reader-text">Next post:</span>
<span class="post-title">WordPress Development</span>
</a>
</div>
</div>
</nav>
这些元素中的任何一个都没有改变背景颜色的 :hover 选择器。但是,当我删除 Chrome 开发工具中的 ::before
元素时,悬停过渡不再发生。
我不明白的是 ::before
pseudo-element 上没有 :hover
选择器,也没有应用与此相关的 CSS 颜色 - 请参阅屏幕截图。 mouseover
也没有事件侦听器,所以我很确定这不是 Javascript。
我无法强制元素状态悬停 pseudo-element 秒,所以我不确定如何进一步调试它。谁能帮我理解为什么会这样?
看到它有父级悬停状态的样式 nav-previous
并且该规则适用于悬停时的伪元素。