当前位置: 首页 > 面试题库 >

使用:hover修改另一个类的CSS?

荣俊
2023-03-14
问题内容

当仅使用css将鼠标悬停在另一个类的元素上时,是否可以修改一个类的css?

就像是:

.item:hover .wrapper { /*some css*/ }

只有“包装器”不在“项目”内部,而是在其他地方。

我真的不想在简单的事情上使用javascript,但是如果必须的话,我该怎么做?这是我失败的尝试:

document.getElementsByClassName('item')[0].onmouseover="document.getElementsByClassName('wrapper')[0].style.background="url('some url')";";

每个班级只有一个要素。不知道为什么他们在制作模板时不使用ID,但这就是事实,我无法更改。

[编辑]

这是一个菜单。每个菜单元素都有一个不同的类。当您将鼠标悬停在元素上时,会在右侧弹出一个子菜单。这就像一个覆盖层,当我使用“检查元素”工具时,可以看到子菜单处于活动状态时整个网站html都发生了变化(这意味着子菜单什么也没有)。我称之为“包装器”的类具有控制子菜单背景的css。我确实看不到这两个类之间的联系。


问题答案:

目前,这在CSS中是不可能的,除非您要选择一个子元素或同级元素(这很重要,并在此处的其他答案中进行了描述)。

对于所有其他情况,您将需要JavaScript。jQuery和Angular等框架可以相对轻松地解决此问题。

[编辑]

使用新的CSS(4)选择器:has(),您将能够定位父元素/类,从而在不久的将来使仅CSS解决方案成为可能!



 类似资料:
  • 我刚刚接触Java,正在为我的大学班级做一个项目。我正在开发一款百万富翁游戏,但是我被卡住了。 我有一个JFrame类,其中我有2个面板。第一个由按钮组成,第二个是我想通过按下按钮来更改的面板。按钮具有自己的类及其构造函数,面板也是如此,因为它们具有不同的布局。我需要在按钮类中创建一个方法,以从框架中删除第二个面板并添加第三个面板(在另一个更JPanel类中描述)。因此,从技术上讲,我需要从按钮类

  • 因此,为了遵守职责分离原则,我尝试让我的修改方法(listNearestAirports)将列表返回给演示者(在不同的包中)。但我注意到,这在改型时很难做到,从必须在我的方法范围之外声明列表,到我只能在onResponse方法内迭代列表(当我试图返回列表时,我得到一个空指针异常)。请参阅下面的代码: 我想要向main()返回一个列表,因此可以执行以下操作: 什么是最简单的方法来返回来自改装的响应?

  • 问题内容: 嗨,我试图将一些文本附加到同一包中另一个类的一个小问题。以下是与JFrame有关的主要类: 我包括测试变量只是为了轻松地重新创建问题,但是无论何时运行append函数,jFrame的文本区域中都不会出现任何内容。在我的方案中,我让客户端从服务器接收文本,然后将其附加到文本框中。 顺便说一句,我正在为JFrame使用IntelliJ GUI设计器。我只包含了重新创建问题所需的代码。我仍在

  • 问题内容: 我是java的新手,我被困在这里…我要做的是将一个java文件中arraylist的更改更新为另一个文件中的JPanel。我正在对arraylist进行排序,因此无法手动完成。有什么办法可以让我“告诉” JPanel痛楚吗? 我有进行排序(工作)的BubbleSort.java,有包含JPanel和JFrame类(用于显示未排序的直方图的工作)的Animation.java。 这是家庭

  • 我有两个类和一个文本文件数据库,第一个类中的,我们将其称为自动设置为数据库中的数字。现在,在中,我有一个小的和一个文本字段,当然还有一个按钮,我在文本字段中的值会覆盖数据库中的值,但问题出在这里。第一个类中的标签在运行时不会更新,但如果我重新启动它,它会显示我想要的值。 如何在程序运行时更新它?我尝试在另一个类的中更改标签,但它每次都给我一个。 我怎么解决这个? 我希望这让我更容易理解我的问题。这