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

如何让“主要内容”在“悬停”上移动,并在伪元素之前/之后保持静态?

要实现“主要内容”在悬停时移动,同时保持伪元素在之前/之后的位置不变,可以使用CSS的position属性和transform属性。以下是一个示例代码:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hover Effect</title>
    <style>
        .container {
            position: relative;
            width: 300px;
            height: 200px;
            background-color: #f0f0f0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .main-content {
            position: relative;
            z-index: 1;
            transition: transform 0.3s ease;
        }

        .container:hover .main-content {
            transform: translateY(-20px);
        }

        .pseudo-element::before,
        .pseudo-element::after {
            content: '';
            position: absolute;
            width: 50px;
            height: 50px;
            background-color: #333;
            transition: none;
        }

        .pseudo-element::before {
            top: 10px;
            left: 10px;
        }

        .pseudo-element::after {
            bottom: 10px;
            right: 10px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="main-content">主要内容</div>
        <div class="pseudo-element"></div>
    </div>
</body>
</html>

解释

  1. HTML结构
    • container:包含主要内容和伪元素的容器。
    • main-content:主要内容部分。
    • pseudo-element:包含伪元素的部分。
  • CSS样式
    • .container:设置为相对定位,以便其子元素可以相对于它进行绝对定位。
    • .main-content:设置为相对定位,并使用z-index: 1确保它在伪元素之上。使用transition属性实现平滑的过渡效果。
    • .container:hover .main-content:在悬停时,主要内容部分向上移动20px。
    • .pseudo-element::before.pseudo-element::after:伪元素,设置为绝对定位,固定在容器的特定位置。

应用场景

这种效果常用于按钮、卡片或其他需要突出显示主要内容的组件中。通过悬停时移动主要内容,可以吸引用户的注意力,同时保持伪元素的静态位置,增强视觉效果。

参考链接

希望这个示例能帮助你理解如何实现这种效果。如果有任何进一步的问题,请随时提问!

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

相关·内容

「动图」SEO必知负面case网页广告说明

当用户浏览页面时,这个静态的,不动的悬停广告占据了屏幕的30%以上。 大面积悬停广告无论用户页面上移动的位置如何,都会继续阻止页面视图的一部分,从而产生阻碍作用。微信号:shareseo ?...移动prestitial广告会在内容加载之前显示移动版网页,阻止用户继续浏览已搜索到的内容。这些弹出窗口的大小从全屏到部分屏幕都有所不同。它们也可能显示为阻止用户访问主要内容的独立页面。...当移动网页的广告占据网页主要内容部分的垂直高度的30%以上时,无论这些广告是文字广告,视频广告还是静态广告,都会产生颠覆性的广告体验。这包括“悬浮”广告和内嵌广告。...这些广告占据了页面的30%以上,并浮在页面主要内容的顶部,阻碍了用户的正常浏览。结果可能会用户反感,因为它掩盖了用户试图浏览的内容。 8 大面积的悬停广告 ?...大面积悬停广告无论用户页面上移动的位置如何,都会继续阻止页面视图的一部分,从而产生阻碍作用。

2.1K70

CSS中鼠标滑过图片放大效果

同时你也可以在此基础扩展它,比如给图片加投影和边框等。整一个图片放大特效还是比较酷的。 但在写代码之前,我们要做的就是: 悬停在上面的卡应该在保持长宽比的同时展开。...CSS3中鼠标滑过图片突出放大效果 悬停时展开项目 我们的下一步是项目悬停时展开。...CSS3中鼠标滑过图片突出放大效果 向外移动兄弟元素 悬停项的兄弟项远离悬停项是整个过程中很棘手的部分。我们可以使用的一个CSS特性是一般的兄弟组合器。这使我们可以选择位于悬停之后的所有同级项。...由于通用的同级组合器仅适用于位于给定选择器之后的同级(没有“向后”),因此我们需要另一种方法。 一种方法是父容器本身上添加其他悬停规则。这是计划: 悬停父容器时,请将该容器内的所有项目向左移动。...CSS3中鼠标滑过图片突出放大效果 向外移动兄弟元素 此时悬停效果看起来更加圆滑,不再那么生硬。需要注意的一点是:此最终版本正在使用:focus和:focus-within类来支持键盘导航。

8.3K10
  • CSS 下拉菜单与 focus

    focus 类 focus 类 :focus 表示被点击、触摸或 tab 选中的元素,笼统地说就是「获得焦点」的元素。 当初实现这个需求的时候同样考虑过采用 :hover 或者 :active。...hover 算是比较熟悉的了, PC 鼠标悬停于此时 :hover 类生效,比如 链接 的样式正是采用 :hover 实现鼠标经过时反馈,以提示用户这是可点击的。...移动端上稍微有些不同,毕竟所有控制——无论单击、长按抑或划动——都由接触开始,也没有鼠标的「悬停」逻辑,为了方便判定,移动端上若想激活 :hover 也是单击(触摸)。...Spectre 解释是这样按钮可获得焦点,事实,并非所有元素默认支持聚焦。本来 是可以获得焦点的,只不过要 带 href 属性。...其次,当一个元素被聚焦时,点击一般的空白处无法使它失焦。这个问题很迷, iOS Safari 100% 复现而在 iOS Chrome 完全无法复现。

    5.5K20

    web前端常见面试题

    理由如下: 当鼠标悬停在未访问的链接上时,:link 和 :hover 都会命中,如果 :hover :link 之前声明,那么(:hover)就会被覆盖; 当鼠标悬停在已访问的连接上时,:visited...和 :hover 都会命中,如果 :hover :visited 之前声明,那么(:hover)就会被覆盖; 当鼠标单击链接时,:active 和 :hover 都会命中,我们大多是想 :hover...只悬停时展示样式,按下鼠标时使用 :active 样式,因此 :active :hover 之后声明; 综上,:hover 应在 :link 和 :visited 之后 :active 之前...比如: blur 元素失去焦点时触发,focusout 事件也是失去焦点时触发,但可以冒泡; focus 元素获取焦点时触发; mouseenter 鼠标移动元素时会触发该事件,与之对应的是 mouseover...,可以将事件绑定到父元素,并子节点发生的事件冒泡到父节点,利用 e.target 属性可以获取到当前触发事件的子元素

    2.3K20

    前端如何提高用户体验:增强可点击区域的大小

    举个例子,WCAG准则2.3.2中规定:网页不包含任何闪光超过3次/秒的内容。 用户应该能够使用台式机/笔记本电脑的键盘以及移动设备或平板电脑的触摸屏来操作输入。...我把鼠标悬停在按钮,光标仍然是一个指针,这很好。不过,我也可以选择文本和悬停时,有一个文本光标!如果使用了正确的元素,就不会发生这种情况。 ?...也就是说,可点击区域仅在文本,如下图所示: ? 解决方法: 删除元素的 padding,并将其移动元素 通过添加display: block使a标签的宽度等于其父链接的宽度。...使用元素来增加可点击区域 仅通过改变元素的宽度和高度或使用padding,并不总是能够使可点击区域变大,这时候就需要元素救场了。...这个想法是,元素属于其父元素,因此当我们创建具有特定宽度和高度的元素时,它将充当其父元素的单击/触摸/悬停区域。

    4.8K20

    超链接的lvha原则

    指定元素内容结尾的位置生成一个元素(同上) 类与元素最大的区别是要选择的目标内容是否存在于DOM,存在就是类,不存在就属于元素。...,鼠标经过超链接时或悬停在超链接上时,这个超链接就处于hover状态 */} a:active {/* 处于激活状态的超链接,鼠标超链接上按下时 */} 其中focus, hover, active不太好区分...,否则最后鼠标划过时不会表现出hover样式(根据层叠规则,先声明的hover会被focus覆盖掉) 因为focus, hover, active3个状态有重叠,所以建议保持特定的声明顺序,层叠结果符合样式表编写者的预期...:link:hover :visited:hover /* 要求顺序 位于2行之后 */ :link:active :visited:active /* 或者替掉2行 不要求顺序 */ :link:...hover:active :visited:hover:active 展开之后就没有重叠状态了,每条规则都变成严格互斥的,自然就没冲突了 P.S.注意:因为IE6-不能正确处理组合类,只认最后一个,

    3.5K30

    提升CSS技能:深入理解 : 和 ::,你的选择器更强大

    这些条件可以包括用户交互,比如悬停在一个元素或点击一个链接,甚至可以是存储浏览器中的信息,比如已访问的链接。 使用类,我们使用冒号( : )符号将其附加到CSS选择器的末尾。...这是一个例子: a:hover { color: red; } 在上面的代码片段中,我们正在针对 a (锚点)元素进行操作,并在用户将鼠标悬停在其时将其颜色设置为红色。...要探索CSS中可用的类的全部范围,你可以参考MDN的详尽文档。 元素( :: ) 既然我们已经了解了类,那么现在让我们把注意力转向元素,它们CSS选择器中用双冒号( :: )表示。...一个常用的元素是 ::before 。它允许我们元素内容之前插入内容。...这种技术可以用于向布局添加装饰性或信息性元素。 同样地, ::after 元素元素内容之后插入内容。

    53330

    元素动画和转换的例子

    一些创造性的实验使用元素的动画和转换来创建有趣的效果。 今天,我们将尝试动画和元素(:之前之后)的转换,我们将发现它们的潜力。...优点 简化和优化HTML标记 利用CSS3的能力 有助于设计 缺点 只支持Firefox,IE10和最近的Chrome浏览器(请参阅此更新的支持表了解更多信息) 移动浏览器中不起作用 元素不能由ID...在这最后一个例子中:之前像父亲一样具有相同的宽度。为了不会有意外的溢出问题,我们将使用“继承”值。 例2 在这个例子中,我们将通过使用转换创建一个悬停效果。...您必须一次只使用一种颜色,以避免触发悬停时通过重叠来避免不必要的颜色混合。 例3 我们怎么敢敢忽略那些不可或缺的微调加载动画呢! 这里的想法是通过旋转合并颜色。这很简单!...我们将使用一个元素的生物的眼睛。 悬停我们激活翅膀动画和身体明星提升。 这是最后一个例子! 总之,元素是一件好事,将它们与动画和转换相结合,可以创建一些有趣的效果,而不需要使用太多的标记或图像。

    1.3K50

    前端学习(10)~css学习:选择器:

    类(类选择器) 类:同一个标签,根据其不同的种状态,有不同的样式。这就叫做“类”。类用冒号来表示。 静态类和动态类选择器分为两种。 (1)静态类:只能用于超链接的样式。...如下: :link 超链接点击之前 :visited 链接被访问过之后 PS:以上两种样式,只能用于超链接。 (2)动态类:针对所有标签都适用的样式。...如下: :link “链接”:超链接点击之前 :visited “访问过的”:链接被访问过之后 :hover “悬停”:鼠标放到标签上的时候 :active “激活”: 鼠标点击标签,但是不松手时。...对应的代码如下: /*超链接点击之前是红色*/ a:link{ color:red; } /*超链接点击之后是绿色...动态类举例 下面这三种动态类,针对所有标签都适用。 :hover “悬停”:鼠标放到标签上的时候 :active “激活”: 鼠标点击标签,但是不松手时。

    1.1K20

    SAO UI Plan -- SAO Utils WEB 2.0

    通过悬停2级菜单显示3级菜单。 优化显示逻辑,识别边缘调整菜单出现位置。确保主要内容完整可见。 优化显示逻辑,新增拖动动作监听。可以通过点按拖动菜单调整菜单位置。...大概只花了半天摸鱼时间,就基本实现了球形样式UI和悬停变色效果,得益于之前做右半边的经验,不管是构建主体还是引入图标都是顺风顺水。 然后追番考古时发现左侧菜单还有一个属性面板的界面。OK,话不多说。...一开始是静态页面上写的纯静态效果,依靠hover动作控制显隐属性。但是这就导致我遇到了一系列问题。...网上的参考内容都是针对于子菜单在父级元素内部的情况,那确实可以靠hover轻松搞定,但是我设置了一堆偏移量和类,导致子菜单和父菜单关键的连接轴是个类,hover无效啊喂!。...因为全部都是触发类函数,监听到相应的点击或悬停事件之前不会执行,所以甚至不会有加载完成后执行脚本的那段阻塞时间。

    2.1K20

    全栈之前端 | 11.CSS3基础知识之列表链接学习

    list-style-position 属性:设置每个项目开始之前,项目符号是出现在列表项内,还是出现在其外。...cursor 属性 - 设置鼠标指针悬停元素的样式 :link 类 - 默认链接状态 :visited 类 - 已访问链接状态 :hover 类 - 鼠标停留选中链接状态 :focus 类...cursor 属性 - 设置鼠标指针悬停元素的样式 描述: 此属性设置光标的类型(如果有),即在鼠标指针悬停元素时显示相应样式。...标签元素有多种链接状态,使用不同的类来对应每一个状态的样式,下面我们简单看看链接状态的语法,不过在学习之前,我们先来看看默认的的链接样式。...:hover CSS 类在用户使用指针设备与元素进行交互时匹配,通常情况下,用户将光标(鼠标指针)悬停元素时触发。

    14410

    【动画进阶】极具创意的鼠标交互动画

    并且,由于我们设置了 body 的颜色,所以动画的一开始,元素白色的背景色与 body 的白色通过混合模式叠加直接变成了黑色。...利用 cursor 修改鼠标样式 cursor CSS 属性设置鼠标指针的类型,鼠标指针悬停元素时显示相应样式。...,判断当前鼠标是否悬停在我们需要进行吸附扩大动画的的元素 通过 mouseout 事件,判断鼠标是否离开目标元素 如果鼠标悬停在目标元素,则计算当前吸附的目标元素的高宽、元素的 border-radius...,才复原模拟的鼠标元素的大小,并且其重新跟随鼠标的移动移动 本质而言,通过一句话概括,整个鼠标元素移动的过程中,如果有悬停到任一元素,则将外圈鼠标元素 #g-pointer-2 的大小及坐标更改...同时,其不再跟随真实的鼠标运动而运动。 mouseout 时,复原外圈鼠标元素的大小及恢复其跟随真实的鼠标运动而运动。

    23910

    (你也不想那个啥也不懂的测试嘲笑你吧)H5开发过程中那些不要碰的CSS选择器

    开发针对移动设备的H5页面时,开发者往往会遇到各种挑战,尤其是当内容需要在不同的Web浏览器和WebView中呈现时。...::after 和 ::before 这些元素选择器用于元素的内容之前之后插入内容。...:hover 尽管:hover桌面浏览器中非常有用,用于改变鼠标悬停元素时的样式,但在触摸设备,特别是WebView环境中,:hover可能会导致不可预测的行为。...替代方法:避免移动端UI中依赖:hover类。考虑使用触摸事件处理器来改变元素的样式,或设计一个不需要:hover状态的UI。...替代方法:避免对文本选择样式做太多定制,以保持更好的兼容性和用户体验。 10. :disabled 和 :enabled 这些类选择器用于基于表单元素的可用状态来应用样式。

    14510

    简单的聊一聊如何使用CSS的父类Has选择器

    最近的:has()选择器允许您对父元素和其他祖先应用样式,本文将向您展示如何在Web应用程序开发中使用它。 CSS的世界中,选择器是驱动我们在网页看到的美丽且响应式设计的工作的马。...使用:has与:not选择 本节中,我们将介绍如何使用 :has 类与 :not 。...导航菜单示例 这将引导我们进入我们项目的下一部分,它看起来是这样的: 在这里,我们将鼠标移到位置,您可以看到当我们将鼠标悬停在位置时,我们拥有的不同位置。...当我们不悬停在位置和员工时,您会注意到根本没有任何下拉菜单的指示。如果我们为此使用修饰类,我们将不得不手动进入HTML文件并编写代码。然而,我们可以通过 :has 类来实现这一点。...然后我们说如果我们有 .awesome__terms: checked ,再次点击复选框时下一页显示出来。 浅色和深色模式示例 这是另一个快速示例,展示了如果选中了某个选项,我们可以如何应用它。

    92540

    如何用最经典的迪士尼动画设计原则赋予 UI 灵性?

    当弹球撞击地面的时候,会呈现出这样的挤压和拉伸。UI 界面当中,挤压和拉伸则多呈现在按钮类的元素。...当然,除了按钮之外,它还可以体现在很多其他的交互元素。 2、预备动作 预备动作,通常指的是提前告知用户即将发生的事情,设计和用户的预期贴合起来。... UI 界面当中,表演和呈现方式对应的就是元素的放置位置,以及元素如何进入界面,怎么抓住用户注意力,进行合理的动画编排。...而后者则是「重叠动作」,前一个动作停止之后,某些部分仍然处于运动的状态。 UI 界面当中,可以元素静止之前,调用一个其他的交互和动效,从而整个动效和交互更加流畅连贯,且自然。...结语 实际的设计过程中,UI动效和交互应当根据实际的情况来灵活调整,整个 UI 界面保持自然的情况下,正确的位置加入不同的交互、动效以及微交互,这回整个交互和 UI 界面本身的功能更深层地结合到一起

    95230

    前端必看的8个HTML+CSS技巧

    悬停放大图片特效 悬停放大图片是一个特别吸引眼球的特效,比较常用于可点击的图片。当用户悬停鼠标图片,图片会稍微的放大。 其实实现这个特效是非常简单的。...filter,图片变灰或者变深褐色,然后悬停时候出现更加炫酷的颜色变幻。...实现原理 一、首先我们禁用了ul的默认符号样式list-style: none 二、li的:before给予content内容值,待处理任务使用?...使用content 属性插入的内容都是匿名的可替换元素。 :first-child — CSS类表示一组兄弟元素中的第一个元素。...CSS中我们不只可以对background背景加入混合模式,我们可以对任何一个元素的自带背景加入混合模式,你可以做出很多之前没有想过的效果和排版。

    1.7K61

    前端学习(22)~css问题讲解

    你是如何理解 HTML 语义化的? 语义化:指对文本内容的结构化(内容语义化),选择合乎语义的标签(代码语义化)。 举例:段落用 p,边栏用 aside,主要内容用 main 标签。...好处: 便于开发者阅读和维护 有利于SEO:浏览器的爬虫和辅助技术更好的解析, 语义化标签介绍: HTML5出来之前,我们习惯于用div来表示页面的章节或者不同模块,但是div本身是没有语义的。...width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 控制页面移动端不要缩小显示...display: block; clear: both; } /* 兼容 IE */ .clearfix { zoom: 1; } 类和元素的区别是什么...概念的区别: 类表示一种状态 元素是真的有元素。比如 ::after 是真的有元素,可以页面上显示内容。 使用上的区别: 类:使用单冒号 元素:使用双冒号

    56720

    加点JavaScript魔法

    使用“悬停”模式时,只要你将鼠标指针放在目标元素中,弹出窗口就会保持可见状态。当你移开鼠标时,弹出窗口将消失。这具有糟糕的副作用,即如果用户想要将鼠标指针移动到弹出窗口中,弹出窗口将消失。...我需要找出一种方法来将悬停行为扩展为包含弹出窗口,以便用户可以移动到弹出窗口中,例如,单击那里的链接。 开发基于浏览器的应用程序时,事情变得越来越复杂的情况,实际并不罕见。...你必须非常仔细地考虑DOM元素如何相互作用,并使其行为方式提供良好的用户体验。 03 页面加载完成后执行函数 很明显,我将需要在每个页面加载后立即运行一些JavaScript代码。...如果用户将鼠标指针移动到其中一个用户链接中,并在移动之前停留了半秒钟,我不希望该timer继续运行并调用显示弹出窗口的函数。...但在我们获得弹窗之前,还有一个细节需要处理,以便给予用户一个良好的体验。回想一下之前添加的逻辑,如果用户触发鼠标进入事件之后的一秒内将鼠标指针移出,将触发取消弹窗的逻辑。

    3.9K10
    领券