在下面的示例中,当我们悬停一行时,它会改变 colored颜色 .理想情况下,当任何红色行悬停时,所有红色行都应该突出显示(蓝色行也是如此).

如何使用纯CSS来实现这一点?

.red-row:hover {
  background-color: red;
}

.blue-row:hover {
  background-color: blue;
}
<body>
  <p class="red-row">Red Row</p>
  <p class="red-row">Red Row</p>
  <p class="red-row">Red Row</p>
  <p class="blue-row">Blue Row</p>
  <p class="blue-row">Blue Row</p>
  <p class="blue-row">Blue Row</p>
</body>

推荐答案

对父项使用:has()规则,因此,如果父项具有与悬停的类相同的子项,则具有相同类的所有其他子项将高亮显示.

Note::has()还不受Firefox支持.

.parent:has(.red-row:hover) .red-row {
  background-color: red;
}

.parent:has(.blue-row:hover) .blue-row {
  background-color: blue;
}
<div class="parent">
  <p class="red-row">Red Row</p>
  <p class="blue-row">Blue Row</p>
  <p class="red-row">Red Row</p>
  <p class="blue-row">Blue Row</p>
  <p class="red-row">Red Row</p>
  <p class="blue-row">Blue Row</p>
</div>

Html相关问答推荐

我需要两个HTML标签,以便当另一个隐藏时,一个可见,反之亦然

当在双引号|Angular .html文件中使用时,Pretier会将单引号字符替换为&;Quot;

如何通过扭曲元素来倾斜元素?

在FlexBox中将div拉伸到父div的完全高度

滚动两个不同高度的DIV;一个等待另一个

尽管div高度为100%,div中的内容仍会溢出

在css中,如何在英雄版块的标题后面做一个粘性的导航栏?

在弹性框布局中的第n个元素后强制换行

HTMLTag属性内的svelte+TS类型声明

使具有FLEX父项的溢出自动的子元素收缩

Chatbox底部显示新消息,并向上推送旧消息

Chrome浏览器错误:上的主题验证判断https://pagead2.googlesyndication.com/失败

如何使活动选项卡背景作为父背景图像

网格项未在同一行上对齐

如何使用 HTML 将对象数组发送到 Nodejs Express

Django 如何从文件系统下载文件?

不完整的悬停

具有 css 高度的输入元素:100% 溢出父 div

pandas `to_html()` - 如何只使特定的行有边框

如何使用 CSS Flex 设计一个导航栏,其中一组项目左对齐而另一组项目右对齐?