html - hovering::before 伪元素(不是宿主元素)时如何在::after 伪元素上应用样式?

标签 html css hover pseudo-element

那里有类似的问题,但显然我没有找到类似的问题。所以问题是:

悬停在::before 伪元素(不是宿主元素)时,如何在::after 伪元素上应用一些样式?

代码示例:

.contact {
  position: relative;
}

.contact::before {
  content: '';
  position: absolute;
  top: 0;
  right: -10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: hotpink;
}

.contact::after {
  content: 'Preferred contact';
  font-size: 10px;
  color: #fff;
  padding: 5px 10px;
  position: absolute;
  top: 0;
  right: -15px;
  transform: translateX(100%);
  border-radius: 5px;
  background-color: rgba(0, 0, 0, .5);

  display: none;
}

.contact:hover::after {
  display: block;
}
    <span class="contact">skype_hello85</span>

所以当悬停元素(跨度)本身时 - 一切都很好。但我希望::after 仅在::before 悬停时显示,而不是宿主元素本身。

感谢您的帮助!

最佳答案

您可以将样式应用于第一个选择器 DOM 级别内的元素。

例如:

<div class="wrapper">
    ::before
    <p>Lorem ipsum dolor</p>
    ::after
</div>

wrapper 类在这里包含 p 标签和两个伪元素(::before::after ) 并且它们都位于一个 DOM 级别并且样式化 ::before 元素 devepeding on ::after 元素是不可能的。唯一的方法是将样式应用于 wrapper CSS 类或使用 JS。

更多信息您可以获得here .

关于html - hovering::before 伪元素(不是宿主元素)时如何在::after 伪元素上应用样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995298/

相关文章:

javascript - 将鼠标悬停在一个类(class)上会影响页面上同一类(class)的所有其他类(class)

javascript - 控制 Angular mfb-menu 的边距和图标

javascript - 如何在按钮单击事件中隐藏占位符?

javascript - 有没有办法将游戏代码放在选项卡中

html - 拉伸(stretch)超大屏幕以适应整个页面

javascript - jQuery 根据内容删除 Div

CSS Navigation : When hovering over icon, 图标应替换为文本链接

HTML CSS : Make Parent Flex equal Width of Children Automatically

php - 对导入的 PHP 页面实现 CSS 完整性

jquery - 如何使用 jQuery 将鼠标悬停在 div 上时显示覆盖 div?