首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么(类名:hover+ className)在我的页面上不起作用?[复制]

这个问题涉及到CSS选择器的使用。:hover 是一个伪类,用于定义鼠标悬停在元素上时的样式。+ 是一个相邻兄弟选择器,用于选择紧跟在另一个元素后面的元素。

在你的例子中,(类名:hover + className) 选择器试图选择一个紧跟在鼠标悬停的具有特定类名的元素后面的具有另一个类名的元素。如果这个选择器没有起作用,可能有以下几个原因:

  1. HTML结构不正确:确保你的HTML结构符合选择器的预期。即,确保有一个元素在鼠标悬停时,它后面紧跟着另一个具有指定类名的元素。
  2. CSS优先级问题:可能存在其他CSS规则覆盖了你的选择器规则。检查是否有其他具有更高优先级的CSS规则影响了这个选择器。
  3. CSS文件加载顺序:确保你的CSS文件正确加载,并且这个选择器的规则在其他可能影响它的规则之后加载。
  4. 浏览器兼容性:虽然大多数现代浏览器都支持这些CSS选择器,但仍然有可能遇到兼容性问题。确保你的目标浏览器支持这些选择器。
  5. 拼写错误:检查类名和选择器中是否有拼写错误。

示例代码

假设你有以下HTML结构:

代码语言:txt
复制
<div class="hover-class">Hover me</div>
<div class="target-class">Target element</div>

你的CSS应该是这样的:

代码语言:txt
复制
.hover-class:hover + .target-class {
  background-color: yellow;
}

解决方法

  1. 检查HTML结构
  2. 检查HTML结构
  3. 检查CSS优先级
  4. 检查CSS优先级
  5. 确保CSS文件正确加载: 确保你的CSS文件在HTML中正确引用,并且没有404错误。
  6. 检查浏览器兼容性: 使用Can I use等工具检查目标浏览器的兼容性。
  7. 检查拼写错误: 确保类名和选择器中没有拼写错误。

参考链接

通过以上步骤,你应该能够找到并解决(类名:hover + className)选择器不起作用的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android组件化专题 - 路由框架原理

为什么需要路由路由框架实现思路路由设计的思路赞赏 在路由框架之前,我们先了解什么是APT,并实践ButterKnife绑定findById的小功能。...为什么先要讲解apt,因为路由的实现apt是核心的代码.看下面链接 APT 实践。 本文项目地址 为什么需要路由 我们知道路由就是实现页面的跳转,然而Android原生已经支持app页面间的跳转。...但是这种方法的不足是:当包含多个模块,且模块之间没有相互依赖的跳转就会变的很困难,如果知道模块对应的类名和路径,可以通过Intent.setComponent(Component)方法启动其他模块的页面...同时还要写大量重复代码,要记录每个模块的类名和路径,如果类名和路径发生改变的话。。。。。。我相信你的内心肯定是崩溃的。...收集路由:通过定义的包名,找到所有动态生成的类,将路由信息存储到本地仓库 (rootMap). 页面跳转:根据注解的路由地址,从本地仓库中找到相关的路由信息,获取到要跳转的类,然后实现跳转。

1.7K20
  • 原生 JS DOM 常用操作大全

    getElementsByCalssName (class类名) 以class类名获取元素参数 calss类名返回 对应类名的元素对象集合 盒子1 盒子2 首页 产品 querySelector...颜色,位置等模式 Element.style.样式 = 值 //行内样式操作 修改行内样式 权重较高 Element.className = "类名" //类名样式操作 覆盖原先的类名 Element.className...("类名") //是否包含此类名, 返回布尔值判断是否为存在 calssName 是保留字,因此使用 calssName 来操作元素类名属性 取消 a 标签的默认跳转 方法一: 在处理程序内的最后 添加...return false ;方法二: 在 a标签中加 javascript:; 自定义属性操作 为什么需要自定义属性:用于在页面中存储数据而不用在数据库中存储 Element.属性 (内置属性通 点的方式...( child ) 方法 在父级节点删除一个子节点,返回删除的节点 复制(克隆)节点 node.cloneNode() //返回调用 该方法的节点的一个副本,也称为克隆节点/拷贝节点如果括号参数为空或者为

    10810

    学习React,从攻克JSX开始

    吐槽:虽然JSX出发点是好的,而且写起来也很简单,但是对于要在JS中写类HTML格式的内容,我的内心是排斥的,感觉非常不习惯。这不是我熟知的web开发啊!有种在开发app的感觉,一个个自定义的组件。.....children] ) 复制代码 第一个参数type是类型,也就是名字,比如h1、div、自定义组件名等~ 第二个参数[props]其实就是各种属性,我们在JS中怎么写属性的,在这里就怎么写。...比如img.src="",div.className=""这样的,那么属性就是这么写的{className:"",src:""},属性名和JS保持一致。...children:"A爆了" } } 复制代码 JSX的花式写法(内含错误演示) JSX有许多中写法,看的我是眼花缭乱,不如来分析分析这些写法的奥秘,为什么要这么写,然后找一种自己喜欢的方式来写...render() { return className="App"> ..... } 复制代码 JSX中的标签属性 写JSX会发现,虽然我是在写HTML,但是有些属性好奇怪啊

    1K20

    在React项目中使用CSS Module

    此外,它是一种通过生成一个随机字符串作为className名称并添加一个唯一的哈希来使每个className都唯一的工具,从而防止和全局作用域冲突。我们可以使用CSS模块来防止CSS类的命名冲突。...任何CSS文件都可以安全地更新,而无需担心会影响其他页面,因为它只具有局部作用域,只能影响使用了更改后的CSS模块文件的其他组件。...当使用CSS模块在浏览器中呈现时,它会生成随机的CSS类,只有在仔细检查页面时才可见。 好了,天不早了,干点正事哇。 ---- 1....但是,我认为CSS模块是会在未来「大放异彩」,特别是「全局范围」和「可重用性」,这使得我们以后写样式时,不用如履薄冰。CSS模块越来越广泛地用于在特定组件中本地描述样式并避免全局作用域。...,:global 告诉CSS模块不要将此类名限制在模块范围内,而是将其视为全局CSS类名。

    1.5K50

    「译」如何编写 React 应用程序的样式

    这意味着我们可以重用 CSS 的“一些”,但随后我们必须在我们自己的类中复制其余的。硬编码值因此,我接受重复是一种必要的邪恶。...虽然我与 Tailwind 没有任何关系,但我认为使用实用程序类的样式方法是最具可扩展性的。在 CSS 的上下文中,可扩展性意味着能够在不成比例增加样式工作的情况下向页面添加更多内容。...边距、填充、字体大小 - 除非我跳到 CSS 文件,否则我不会知道它的作用。现在,当我看到另一个类时,我可以理解它有什么风格。...为了理解为什么我如此欣赏这种方法,我们需要回顾一下在基于组件的库存在之前CSS是如何编写的。...我不希望这一章听起来像是造型是世界上最难的事情。糟糕的CSS会让你的页面看起来有点坏,它可能会激怒客户,或者在绝对最坏的情况下会给你一些钱。但是,数据库错误可能会毁掉你的整个公司。

    10110

    Typescript 入门写一个 react 进度条组件

    我完全是以学习者的姿态来描述我写组件的过程,很多不严谨的地方请大家指出来哈哈。 看看实现的效果-gif 动图效果 ?...当然你可以点击这里亲自试一下效果,效果页面 也可以打开下面 codeSandbox 看一下源代码。 ? 开始动手 这是一个普通的 UI 组件,难点主要在设计(css)上面。...={`${prefixCls}`}> {progress} div> ); } } 复制代码 要点:把处理数据的函数定义在 class...而 ts 的 interface 的作用当然也是校验 props 的输入。 两者的区别:TypeScrip· 的类型检查是静态的,prop-types 可以在运行时进行检查。...你如你传了个offsetTop="abc",你的编辑器可能会提示你类型有误,但是在浏览器里仍然是可以正常运行的。而如果你使用了 prop-types,在浏览器里就会给出提示。

    1.9K30

    react中css modules的介绍与使用

    React 中 CSS的规则都是全局的,任何一个组件的样式规则,都对整个页面有效,这可能会导致大量的冲突。...也就是说如果我有两个css文件,它们的中的一些样式名是一样的,那么就会被覆盖,简单的解决办法就是将样式的命名变得复杂且不重复,但这样样式多了也很难避免重复,且命名也不会太好看。...那么这个时候就推荐使用CSS Modules 了CSS Modules 的做法就是通过配置将.css文件进行编译,编译后在每个用到css的组件中的css类名都是独一无二的,从而实现CSS的局部作用域。...引入方式 import 'xxx.css' 用法:className='styleName'> 局部样式(css modules) 注:css modules会默认给类名加上一个唯一标识符(哈希字符串...),从而实现类名不重复 命名规则: xxx.module.css 引入方式:import xxx from 'xxx.module.css' 用法:className={xxx.styleName

    1K10

    在Flutter中设置更好的Logging的指南

    今天,我们将研究可以极大减少应用程序调试时间的任务之一。一旦您习惯了在您的应用程序中以某种方式运行的日志,您将很快能够注意到为什么某些东西不起作用。...设置 将记录器包添加到您的项目中 logger: ^0.6.0 复制代码 用法 要使用记录器,您可以在类中创建一个新记录器并使用其中一个方法调用进行记录。...记录器缺少的一件事是它正在打印的类的名称。我希望将其作为第一条信息。 创建一个名为 log_printer.dart 的新文件,用于打印传入的消息。这是最基本的打印机类型,没有什么特别之处。...final logger = Logger(printer: SimpleLogPrinter()); 复制代码 适合我的日志类型是具有颜色并知道哪个类正在打印日志。...final log = getLogger('PostService'); 复制代码 最后要做的是设置日志记录级别,以便您不会一直看到所有日志。在您的主文件中设置应用程序运行之前的级别。

    1.8K00

    让你开发更舒适的 Tailwind 技巧

    免费体验 Gpt4 plus 与 AI作图神器,我们出的钱 体验地址:体验 使用 Tailwind CSS,我避免了在 React 项目中复制大量 CSS 文件的麻烦,使网页开发变得更加迅速高效。...比如,在编写一堆样式时,突然想起忘记为 flexbox 设置间隙,需要将其复制并粘贴到代码的不同位置。这种情况对我来说需要过多的思考。...这个插件的排序顺序如下: Tailwind 中未定义的类名,即用户自定义的类名 Tailwind 中的宽度、弹性布局等其他样式,按其重要性排序 媒体查询和悬停效果 配置我们的项目 当刚安装 Tailwind... ); } 最后,如果您一直在跟随我的示例,您可能已经注意到,当我们在 cva 函数内编写类时,Tailwind 智能提示扩展不起作用。...这是因为它没有被训练去做这件事 —— 它只在我们编写类名和使用 @apply 样式时触发。

    59521

    SharePoint托管工作台实现Rest接口

    复制代码 这样就启动了本地工作台 如果我说如果没有启动但会打开浏览器的话(几率很低,是因为你的端口占用 我的数据库的端口5432恰好与SharePoint启动端口一致遇到过这个问题 只需要改config...的页面上添加一个名为Countries的list页面 就像这样 生成SharePoint项目 但是最后选的时候要使用React框架 就像前面说的 修改配置使它能够默认的打开托管工作台....: ButtonClickedCallback; } 复制代码 在SpFxHttpClientDemo.module.scss.文件添加样式 .list { color: $ms-color-themeDark...在SpFxHttpClientDemo.tsx.下的render方法添加以下代码 className={ styles.container }> className={ styles.row...在与你项目名一样的类中添加方法 private onGetListItemsClicked = (event: React.MouseEvent): void =

    1.9K10

    iOS程序猿如何快速掌握 PHP,化身全栈攻城狮?

    程序的唯一入口.你的所有的php页面间的访问与跳转,都将是由此处开始.下面的代码可以先先复制到你的 index.php种,它实现了一个基本的页面访问与控制的框架: <?...php // index.php /* 实现类文件的自动加载 */ function __autoload($className) { if (file_exists($className...> 这个方法可以实现根据用户输入自动跳转至对应的界面.你直接把代码复制到index.php中即可,因为它暂时不再需要做变更了.一些说明的技术点是: 实现了 魔术方法 __autoload,以实现自动加载相关的类文件...,语法是 new 类名(),这不禁让我想起 oc 中的 new函数,它的语法是: [类名 new]; php 中的函数,看起来更像是C语言函数,也许说更像 oc 中的block,可能更好理解些. php...网上关于MVC中M的讨论,此处我选取的是最基本的一种: M专指用于存储某种数据的类的实例.它可以用于数据的格式化存储和传递,但不应包含发起网络请求和读写数据库等操作; 在本文讨论的Model中,我们进一步简化了

    1.8K71

    通过 SSH 在远程和本地系统之间传输文件的 4 种方法

    成功传输文件,您需要 在两台机器之间进行 SSH 访问 知道远程机器上的用户名和密码 远程机器的 IP 地址或主机名(在同一子网上) 除此之外,让我们看看通过 SSH 在远程系统之间复制文件的方法。...方法一:使用 scp 命令通过 SSH 复制文件 scp 将被弃用,尽管如此,它仍然是我最喜欢的通过 SSH 在系统之间传输文件的工具。 为什么? 因为它的语法类似于 cp 命令。...这应该会提示您应该知道文件在远程系统上的确切位置,选项卡完成在远程系统上不起作用。...这是一种通用语法,它将文件名复制到远程系统上用户名的主目录。...本地系统上的目录,我将文件复制remote.txt到本地系统,然后卸载目录。

    12.4K10

    前端学习(47)~DOM简介和DOM操作

    document.getElementsByClassName("hehe"); //方式三:通过 类名 获取 元素节点数组,所以有s 既然方式二、方式三获取的是标签数组,那么习惯性是先遍历之后再使用...如果我想删除自己这个节点,可以这么做: node1.parentNode.removeChild(node1); 复制节点(克隆节点) 格式如下: 要复制的节点.cloneNode();...要复制的节点.cloneNode(true); 括号里带不带参数,效果是不同的。解释如下: 不带参数/带参数false:只复制节点本身,不复制子节点。...浏览器在加载一个页面时,是按照自上向下的顺序加载的,读取到一行就运行一行。...如果将script标签写到页面的上边,在代码执行时,页面还没有加载,页面没有加载DOM对象也没有加载,会导致无法获取到DOM对象。

    1.7K30

    我所理解的C++反射机制

    在Java编程中,会经常要用到反射,但是我想很多使用C++的人至今都没有想过这个问题。...工厂类的作用仅仅是用来保存类名与创建类实例的回调函数,所以程序的整个证明周期内无需多个工厂类的实例,所以这里采用单例模式来涉及工厂类。...我这里的一个做法是创建一个全局变量,在创建这个全局变量时,调用的构造函数内将回调函数和对应的类名称字符串保存到工厂类的map中。在这里,这个全局变量的类型我们定义为RegisterAction。...可以在程序的任何一个源文件中创建注册动作类的对象,但是在这里,我们放在回调函数后面创建。后面你就知道为什么这么做了。...看了上面的测试代码,大家可能会唏嘘不已,我们在通过类名称字符串创建类实例的时候,我们还是需要用到类名进行强制类型转换,有了类名称,我们何必还要处心积虑实现反射的功能呢,直接用类名创建实例不就行了么?

    5.3K41

    XPage系列|这次升级后终于是全自动化注册了!

    但就在前几天,在交流群里突然有人问我下面几个问题: 1.我如果想在多个module中使用XPage,我该怎么办呀? 2.为什么我使用XPage之后,一直找不到AppPageConfig这个类啊?...3.1.1之前版本 在3.1.1之前版本,在使用自动注册功能的时候,还是需要实现PageConfiguration接口,并调用编译时自动生成的页面配置类“moduleName”+PageConfig 的...APT技术实现页面配置类的自动生成 其实当初实现页面配置类的自动生成的方案,也是我研读了ARouter源码之后,受到了APT技术的启发后完成的。...运行时扫描指定包下的配置类反射实现自动注册 上面我们在了解页面配置类是如何自动生成的时候发现一个规律: 自动生成的配置类都会存放在com.xuexiang.xpage.config包下,类名都是以PageConfig...这里的ClassUtils也是我借鉴了ARouter里面的源码。 2.遍历这个类名集合,并根据类名结尾是否是PageConfig筛选出所有的配置类。

    30920

    web项目部署,需要的来看

    Tomcat目录下的webapps目录修改名字为你上面修改的appBase的值,同理复制一份Tomcat\conf目录下的catalina文件改名为上面修改的name的值,然后把javaweb项目放入webapps2...3.2 乱码 部署成功之后访问页面发现页面中文乱码,大概可能是三个方面出现问题,若果不能确定的话可以挨个修改排查。...Mysql,删除掉之前导入的数据库(drop databse “数据库名”)执行以下命令重新创建数据库 CREATE DATABASE `mydatabase` DEFAULT CHARACTER SET...world wide web publishing service(IIS)就行了,或者改变IIS的端口,这个错误耽搁了好久,因为浏览器的缓存,导致我改好了还是会显示IIS页面,浏览器缓存害死人啊。...最后我只好使出绝招 where java,然后在某Oracle路径下发现了一系列以java.exe为首的文件,一看环境变量,原来Oracle目录在环境变量里,但是有这个java.exe为什么会显示找不到呢

    57610

    小程序折腾记 - Taro(1.2.x)开发一个微信小程序下来的要点梳理及爬坑姿势(篇幅有点长)

    至于className的动态css class处理..我倾向于使用classnames这个库 classname: 最普通的用法如下 // 在Taro的用法跟在React的用法差不多..Taro上需要放在...,taro封装了下 复制代码 ---- 鉴权页面渲染突兀的改善姿势!...若是你在第一个页面做鉴权跳转,很容易就遇到渲染部分再跳转的 给人的视觉反馈不是很好,对于此,写一个中间鉴权页面作为第一页,跳转会改善很多(视觉上) 因为效果可以定制,而不渲染很多没必要的组件 比如我的,...我的入口页面就是auth import '....比如详情页,展示类的页面,我们一般都是通过typeId去拿到具体的详情,再来展示 常规做法都是进到页面后在componentDidMount去触发请求,然后把结果集渲染到页面, 但这样一进去就会展示默认数据再替换

    4.4K51

    「Web编程API」- 01

    javascript中有一个函数alert()可以在页面弹一个提示框,这个函数就是js提供的一个弹框工具。这些工具(函数)由编程语言提供,内部的实现已经封装好了,我们只要学会灵活的使用这些工具即可。...文档:一个页面就是一个文档,DOM中使用document表示; 节点:网页中的所有内容,在文档树中都是节点(标签、属性、文本、注释等),使用node表示; 标签节点:网页中的所有标签,通常称为元素节点,...获取元素 为什么要获取页面元素?例如:我们想要操作页面上的某部分(显示/隐藏,动画),需要先获取到该部分对应的元素,再对其进行操作。 1.3.1....产品 // 1. getElementsByClassName 根据类名获得某些元素集合...如果想要保留原先的类名,我们可以这么做 多类名选择器 // this.className = 'change'; this.className = 'first

    66650

    怎样只使用 CSS 进行用户追踪?

    因此,大多数等信息可以十分轻松的读取,并且可以立刻发送到服务端。 这就是为什么出现越来越多的方式来阻止浏览器中跟踪器的原因。...只有在用户设备与媒体查询匹配的时候,才请求背景图片。 如果现在一部智能手机访问这个页面,媒体查询会执行,并发送请求背景图片的请求,同时服务端会输出它是智能手机。...如果第一个在系统上不起作用,浏览器将会尝试第二个。...font-family: BlinkMacSystemFont, "Arial"; 当我在我们的网站嵌入这句代码时,我的 MacBook 使用第一种苹果标准字体,这字体只可以在 Mac OS 上使用。...你可能会认为由于它嵌入在 CSS 代码中,统计的可能并不准确,但事实并非如此。由于请求的体积十分小,并且立即作用在服务器上。我试了几次并测量了时间,最终测量的结果非常精确。 很惊人,不是吗?

    1.8K20
    领券