首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我应该为一个元素使用什么选择器,这取决于伪元素的悬停行为?

我应该为一个元素使用什么选择器,这取决于伪元素的悬停行为?
EN

Stack Overflow用户
提问于 2019-12-17 23:56:50
回答 2查看 55关注 0票数 0

我用假元素做了汉堡菜单。现在我需要显示一个菜单,如果一个伪元素是悬停的.我可以这样选择:.header:hover:before,但是我不能强迫菜单依赖它。

它是html的结构:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<header class="header">
    <a href="#"><img src="img/logo.svg" alt="logo" class="logo logo_header"></a>
    <nav class="menu menu_header">It's a menu</nav>
    <div class="contacts-header">Some contacts here</div>
</header>

它是CSS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.header:before {
        content: '';
        display: block;
        width: 40px;
        height: 30px;
        background-image: url("../img/icon-burger-menu.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
.menu {
        display: none;
    }

    .header:hover:before **???** {
        display: block;
    }

在这种情况下可以使用选择器吗?

在这里输入图像描述

EN

回答 2

Stack Overflow用户

发布于 2019-12-18 01:00:19

我认为最好是把你的汉堡包菜单作为一个实际的元素,而不是一个伪元素。

伪元素有一定的局限性。其中之一是,您不能添加‘:悬停’状态到他们。

作为一个额外的奖励,我认为这将是一个更有利于开发的解决方案。如果另一个开发人员需要修改您的代码(一年后),他可以在您的HTML代码中看到菜单。HTML用于标记,CSS用于样式设计。

:before:after通常用于对代码进行少量的添加。对于像导航这样重要的部分来说不是。

票数 2
EN

Stack Overflow用户

发布于 2019-12-18 01:16:31

您可以将:hover添加到伪元素中,但伪元素不会影响它们自己的元素(而不是CSS)。

下面是对元素和伪元素悬停状态可能性的快速总结.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
body {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 600px;
}

div {
  width: 100px;
  height: 100px;
  background-color: lightgreen;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
}
div:not(.pseudo-hover):hover::before {
  background-color: pink;
}
div.pseudo-hover:hover::before {
  background-color: pink;
}
div.pseudo-hover::before, div.pseudo-hover-all::before {
  pointer-events: initial;
}
div.pseudo-hover-all {
  pointer-events: none;
}
div::before {
  content: '::before';
  position: absolute;
  width: 60%;
  height: 50%;
  background-color: aquamarine;
  top: 0;
  right: -60%;
  cursor: pointer;
  pointer-events: none;
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h3>Hover on element affects to pseudo-element</h3>
<div>Element</div>
<h3>Hover on pseudo-element or element affects to pseudo-element</h3>
<div class="pseudo-hover">Element</div>
<h3>Hover on pseudo-element affects only to pseudo-element</h3>
<div class="pseudo-hover-all">Element</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59387674

复制
相关文章
error信息显示状态下按钮按下时error不消失问题
当画面增加一个按钮,在输入框表示error状态下,按下按钮,error信息还是没有消失,即使在按下事件中已经设置了setCustomValidity()方法,还是没有起效。
repick
2021/11/25
1.5K0
error信息显示状态下按钮按下时error不消失问题
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2022/08/04
2.3K0
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2018/09/19
5.8K0
WPF 修改按钮按下的颜色
基于pyQt的按键响应程序,实现按下按键进行图片曝光(按下按钮,运行另一个曝光图片程序.py)
创建UI界面 在designer中拖出一个按钮,并进行重属名。 编写程序 编写你要调用的程序
跋扈洋
2021/02/02
1.2K0
基于pyQt的按键响应程序,实现按下按键进行图片曝光(按下按钮,运行另一个曝光图片程序.py)
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2018/09/18
1.5K0
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2022/08/09
1.2K0
我的Js代码-按钮按下时判断是否选择了最后一行,给出提示
<script language="javascript"> <!-- function onsub() { //生成新月的字符串 var nian=Number(document.all("ListBox1",0).value.substring(0,4)); var yue=Number(document.all("ListBox1",0).value.substring(4,6)); if(yue==12)
用户1075292
2018/01/23
3.6K0
直播视频网站源码,按钮背景点击按下变色
以上就是直播视频网站源码,按钮背景点击按下变色的相关代码, 更多内容欢迎关注之后的文章
yunbaokeji柯基
2020/11/11
1.6K0
直播视频网站源码,按钮背景点击按下变色
[C#]不通过事件方式获取键盘按钮按下的状态
源码来自:https://www.pinvoke.net/default.aspx/user32/GetKeyboardState.html
CNXY
2020/10/27
3.6K0
python 按钮的响应事件
在PyCharm中创建一个项目,然后点击“Tools”--“External Tools”--“QTDesinger”打开QT Desinger
py3study
2020/01/06
2.9K0
当鼠标按下时拖动元素,简单的JS实现
通过一个布尔值作为是否移动的标志,按下时为TRUE,代表跟随移动,鼠标松开为FALSE,代表不跟随移动,鼠标移动时改变元素偏移量。
房东的狗丶
2023/02/17
3.8K0
Linux命令行中按下d时发生了什么
在《Linux 中的主机、控制台和终端》中我们讨论了主机和终端的关系,unix系统正是基于这一理念设计的。虽然Linux和unix代码上不同,但是设计理念确是一脉相承的。所以对于Linux也同样适用。
mwangblog
2018/07/04
9000
win10 uwp 按下等待按钮
我们需要一个值让我们知道是不是已经完成了后台,按钮可以按下,在按下时,自动让按钮IsEnable为false。
林德熙
2018/09/18
7590
win10 uwp 按下等待按钮
双击事件(dblclick)时,不触发鼠标按下(mousedown) 动作事件
在一个dom节点的事件绑定中,如果同时绑定了dblclick和mousedown那么想要执行双击事件(dblclick)时能就会触发两次mousedown事件。
李维亮
2023/10/23
7700
双击事件(dblclick)时,不触发鼠标按下(mousedown) 动作事件
Bootstrap响应式前端框架笔记五——按钮
    Bootstrap中预设了default,primary,info,warning,danger和link6种按钮风格,示例如下:
珲少
2018/08/15
1.1K0
Bootstrap响应式前端框架笔记五——按钮
WordPress首页底部“加载更多”按钮美化
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
小狐狸说事
2022/11/17
9440
WordPress首页底部“加载更多”按钮美化
datables之加载数据时显示进度条
如果配置datables加载数据的时候显示进度条呢? 如下图所示效果: 这个功能采用模态框实现,弹出模态框和关闭模态框 HTML代码:(随便放在一个位置,因为是隐藏的) <%--等待加载数据滚动条模态
手撕代码八百里
2020/07/28
1.7K0
datables之加载数据时显示进度条
Bootstrap响应式前端框架笔记八——按钮组
    在Bootstrap定义的Css样式中,开发者可以将一组btn控件包裹在btn-group类中使其组合成按钮组控件,组合后的控件左右两侧的按钮将被圆角处理,示例代码如下:
珲少
2018/08/15
1.6K0
Bootstrap响应式前端框架笔记八——按钮组
点击加载更多

相似问题

按下按钮时响应本机mqtt -发布

10

反应本机材料-按下按钮时如何显示加载

23

反应-本机:按一下按钮加载屏幕

12

本机:按下按钮时多次执行函数

22

自动按下按钮加载数据

121
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文