如何在悬停时反转转换?

2024-01-07

我可以通过 CSS 反转悬停时的过渡动画吗?

当我将鼠标悬停在“菜单”文本上时,我需要滑动到右侧蓝线,并在 400 毫秒延迟后从左侧灰线滑动。

是否可以?

.menu {
  display: inline-block;
  position: relative;
  font-family: sans-serif;
  font-size: 32px;
  font-weight: bold;
}
.menu:before, .menu:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 4px;
  background-color: blue;
  transform: scaleX(0);
  transform-origin: right center;
  transition: 500ms transform cubic-bezier(0, 0.75, 0.45, 1);
}
.menu:after {
  background-color: grey;
  transform: scaleX(1);
  transform-origin: left center;
}
.menu:hover {
  cursor: pointer;
}
.menu:hover:before {
  transform: scaleX(1);
  transform-origin: left center;
  transition-delay: 400ms;
}
.menu:hover:after {
  transform: scaleX(0);
  transform-origin: right center;
}
<div class="menu">
  Menu
</div>

您可以使用渐变和更少的代码轻松完成此操作。诀窍是使用左侧蓝色、右侧灰色、中间透明部分的渐变。透明部分结合background-size更改时会在两种颜色之间产生延迟background-position从左到右。

在这种情况下,我将灰色和蓝色设为25%的梯度,所以大小需要是400%覆盖100%元素宽度。

.menu {
 display: inline-block;
  position: relative;
  font-family: sans-serif;
  font-size: 32px;
  font-weight: bold;
  background-image:
    linear-gradient(to right,blue 0,blue 25%,transparent 25%,transparent 75%,grey 75%);
  background-size:400% 4px;
  background-position:bottom right;
  background-repeat:no-repeat;
  transition:1s all;
}
.menu:hover {
  background-position:bottom left;
}
<div class="menu">
  Menu
</div>

这是另一个示例,如果您需要增加延迟并保持相同的持续时间,只需将透明部分放大即可:

.menu {
 display: inline-block;
  position: relative;
  font-family: sans-serif;
  font-size: 32px;
  font-weight: bold;
  background-image:
    linear-gradient(to right,blue 0,blue 10%,transparent 10%,transparent 90%,grey 90%);
  background-size:1000% 4px;
  background-position:bottom right;
  background-repeat:no-repeat;
  transition:1s all;
}
.menu:hover {
  background-position:bottom left;
}
<div class="menu">
  Menu
</div>

UPDATE

根据您的评论,您可以执行以下操作:

.menu {
 display: inline-block;
  position: relative;
  font-family: sans-serif;
  font-size: 32px;
  font-weight: bold;
  background-image:
    linear-gradient(to right,blue 0,blue 25%,transparent 25%,transparent 75%,grey 75%),
    linear-gradient(to right,grey 0,grey 25%,transparent 25%,transparent 75%,blue 75%);
  background-size:400% 4px,400% 0px;
  background-position:bottom right,bottom left;
  background-repeat:no-repeat;
  transition:background-position 1s,background-size 0s 1s;
}
.menu:hover {
  background-position:bottom left,bottom right;
  background-size:400% 0px,400% 4px;
}
<div class="menu">
  Menu
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在悬停时反转转换? 的相关文章

  • 我可以使用 ASP.NET WebForms 母版页在每个内容页中包含不同的 javascript/css 文件吗?

    我有几个使用相同母版页的内容页 它们并不都需要包含在相同的 javascript 和 css 文件中 tag 是否可以更改内容来自内容页面的标签 确实如此 但我建议采取一些不同的做法 我在关闭正文标签的正上方放置了一个内容占位符 然后我填充
  • Bootstrap 导航栏与 Google 位置重叠自动完成下拉菜单

    我有一个导航栏 我试图在其中添加一个地点搜索框 除了谷歌位置提示框的一小部分被导航栏重叠 如下图所示 之外 一切几乎都有效 我尝试过改变z index输入框的值改为10或2000或90000但似乎没有效果 我还缺少其他需要做的事情吗 这是
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 如何让CSS选择以字符串开头的ID(不是Javascript)?

    如果 HTML 中有这样的元素 id product42 id product43 如何匹配所有以 product 开头的 id 我已经看到了完全使用 javascript 执行此操作的答案 但是如何仅使用 CSS 执行此操作 id pro
  • 将图像编码为base64有什么效果?

    如果我将图像 jpg 或 png 转换为 base64 那么它会更大 还是具有相同的大小 会大多少呢 是否建议在我的网站上使用 Base64 编码的图像 大约会大 37 非常粗略地说 Base64 编码的二进制数据的最终大小等于原始数据大小
  • TDD/测试 CSS 和 HTML? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法测试 CSS 和 HTML 例如 有时某些通知会受到某些 CSS 更改的影响 我不想每次进行更改时都手动测试所有通知 Tha
  • 闪亮的应用程序包:css 和所有 www/ 目录内容

    我正在尝试将 Shiny 应用程序转换为 R 包 但我在处理有关 www 目录以及 松散 文件的所有问题时遇到了问题 我闪亮的应用程序运行得很好 但是当我尝试 打包它 时 它不起作用 我闪亮的应用程序目录 my shiny app R ut
  • 如何在bootstrap中默认隐藏侧边栏?

    我在这里有一个很好的参考 作为 Bootstrap 在设计 Web 表单应用程序时的侧边栏 http startbootstrap com template overviews simple sidebar http startbootst
  • 在流体设计中将元素的宽度调整为其高度的百分比,反之亦然? [复制]

    这个问题在这里已经有答案了 我正在制作响应式设计 无论屏幕尺寸是什么 它都必须保持其元素的比例 高度与宽度 所以我不知道任何元素的像素大小 并且我只能以 工作 我可以将宽度或高度设置为浏览器大小的百分比 但我不知道如何设置其他属性值 仅使用
  • 在按钮之间添加空间?

    嗨 我这里有一个代码 除了一件事之外 一切都很完美 代码中每个按钮之间没有空格 我尝试过 margin 但不幸的是它是一个无序列表 所以我有点困惑 我将添加或替换什么以在两个按钮之间留出空间 帮助
  • 引导标签输入宽度

    我正在尝试使用引导程序标签输入 http timschlechter github io bootstrap tagsinput examples 以模态中包含的形式 像这样 div class form group div
  • 如何防止弹性项目高度因其内容而溢出[重复]

    这个问题在这里已经有答案了 我刚刚开始学习 Flex 到目前为止我印象深刻 但是 我对包含页眉 页脚和三列的全页应用程序遇到了问题 第一列包含一个项目列表 由于我无法为其父级设置固定高度 因此每次列表增长时 它都会将页脚向下推 这是一个带有
  • 将输入中每个单词的第一个字符设为大写

    我想知道如何在输入区域自动生成单词的第一个字符 目前我的代码是 Name
  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • 如何在jqplot中显示饼图之外的标签?

    Jqplot 有如下图表 jqplot 图表 http www jqplot com tests pie donut charts php 我的问题是如何在 a 之外显示标签jqplot chart像下面这样high chart 高图表可以
  • CSS设置默认滚动位置

    有没有办法将滚动位置设置为默认值 我知道如何在 javascript 中做到这一点 例如使用 jquery div divWithScroll attr scrollTop 200 但我只想用CSS来做 我不知道是否可行 不 CSS 中没有
  • Textmate“注释”命令对于 css 代码无法正常工作

    当我在 TextMate 中切换 CSS 源代码的注释时遇到一些问题 Using the shortcut CMD I activate the Comment Line Selection command from the source
  • 如何为背景图像添加边距?

    我想向背景图像添加边距 以便将其与屏幕中间保持距离 但将其添加到该类中会为整个主体添加边距 body poppage background url Imagenes tip3 png 50 200px no repeat E2E4E9 我怎
  • 为范围旋钮 ionic-range 添加边框颜色

    我正在使用离子范围添加范围滑块 并想向范围旋钮添加边框 由于它的 ionic4 和范围旋钮是 Shadow dom 的一部分 我无法使用范围旋钮的 border 属性直接更改边框 我已附上我想要实现的图像 范围旋钮周围有白色边框 现有属性只
  • 显示覆盖以覆盖整个页面

    我有一个正在加载的网络应用程序iframe 我需要显示一个覆盖 div 来覆盖整个页面 问题是叠加层当前仅显示在iframe区域而不覆盖整个页面 我们的应用程序 子应用程序 是加载的一组应用程序的一部分iframe 你可以做这样的事情 di

随机推荐

  • 显式默认构造函数和成员变量的初始化

    我对当一个 ctor 被明确默认时会发生什么感到有点困惑 下面的两个代码示例是否等效 有没有什么限制Y能够使用第一个选项吗 class X public X default private Y m y class X public X m
  • 如何获取 Android 手机的主电子邮件帐户?

    我正在开发一个项目 我必须使用用户的主要电子邮件自动填充 EditText 我正在考虑将主要电子邮件作为与 google play 商店关联的电子邮件 我读过了this https stackoverflow com questions 2
  • 如何将 mimeType Assert 与 VichUploader 一起使用?

    当使用以下命令上传任何文件时 此断言会通过 Symfony 的表单验证VichUploaderBundle http github com dustin10 VichUploaderBundle Vich UploadableField m
  • 如何使用 python zipfile 库检查 zip 文件是否拆分为多个存档?

    根据zip文件标准 http www pkware com documents casestudies APPNOTE TXT http www pkware com documents casestudies APPNOTE TXT它还支
  • Python 多进程、日志记录、各种类

    我目前正在尝试从多个进程登录到单个文件 但遇到了很多麻烦 我花了无数个小时在网上查找 stackoverflow 和 Google 但没有得到任何具体的结果 我读过了 在 Python 中使用多处理时应该如何记录 https stackov
  • 为什么这些是==而不是`equals()`?

    我对Java的处理方式有点困惑 and equals 到那个时刻int Integer和其他类型的数字 例如 Integer X 9000 int x 9000 Short Y 9000 short y 9000 List
  • mysql 连接错误“字典中不存在给定的键”

    我在使用 ADO NET Driver for MySQL Connector NET 连接到 mysql 数据库时遇到问题 我得到了这个异常The given key was not present in the dictionary E
  • 搜索实现特定接口并执行方法的类

    我想调用实现某些特定接口的类中的方法 我已经尝试和搜索了很多 但不知道该怎么做 这是我的想法 但它不起作用 希望可以有人帮帮我 getting the list List
  • Java String 的默认初始值是多少?

    考虑一个名为的 Java 字符串字段x 的初始值是多少x当为类 x 创建对象时 我知道对于int变量 默认值指定为0 在创建实例时 但会变成什么String 如果您不执行任何操作 它会初始化为 null 所有引用类型也是如此
  • android在对话框中加载webview [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在我的 webview 中打开 twitter auth 而不是在浏览器中打开 有什么好的教程如何在
  • 用 Beautiful Soup 解析 XML

    编辑 已解决 我想我应该在底部添加我的答案 注意 所需的输出是一堆像 US D0591026 我的 XML 数据如下所示
  • 比较两个 C 风格字符串的正确函数是什么?

    所以我陷入了两难的境地 我需要比较两个 C 风格的字符串 并搜索了最合适的函数 memcmp Compare two blocks of memory function strcmp Compare two strings function
  • 使用免费的第三方 dll 将 word 转换为 pdf

    我想将word文档转换为pdf 我找到了很多使用 Office dll 的解决方案 但我想要一个使用免费第三方dll的解决方案 因为在office dll中必须安装office 所以我的服务器上没有安装office 有没有免费的第三方dll
  • 将组合变音符号转换为简单 utf

    由于某些编码问题 我在将字符串插入数据库时 遇到问题 字符串源是外部 rss 提要 在网络浏览器中看起来没问题 即使在调试器中 文本也看起来没问题 如果我将strong复制到记事本中 结果也可以 但在记事本 中可以看到字符串正在使用组合字符
  • 如何从 Android 调用 PHP 函数?

    我想调用服务器上的特定 php 函数并发送一些参数 到目前为止 我实现了可以使用 HttpClient 打开 php 文件并执行数据传输到 Json 并在我的应用程序中显示 那么 现在我希望能够调用特定函数并向其发送参数 我该怎么做 抱歉
  • Oracle 和分页

    在 MySql 中 分页的概念可以通过使用单个 SQL 语句轻松实现LIMIT子句类似于以下内容 SELECT country id country name FROM country c ORDER BY country id DESC
  • 无法使用 MongoEngine Pymongo 和 Django 返回 JSON 对象?

    所以我试图返回一个项目的 JSON 对象 我花了几个小时试图让 Django 返回 JSON 这是我们一直在研究的观点 def json request first name user User objects all user User
  • ASP.NET MVC AJAX 与 HTML.ValidationMessageFor

    我习惯使用 ASP NET Webforms 通过 UpdatePanels 执行 AJAX 的简单方法 我知道这个过程对于 MVC 来说更加手工 在特定情况下 我使用数据注释来验证某些表单输入 我使用 HTML ValidationMes
  • 如何全局更改Swing JTextFields的ActionMap?

    我想通过用我的自定义实现替换一些操作来更改整个应用程序中 Swing JTextFields 的 ActionMap 关于原因的解释可以参考以下帖子 如何使 JTextComponent 的插入符跳过选定的文本 https stackove
  • 如何在悬停时反转转换?

    我可以通过 CSS 反转悬停时的过渡动画吗 当我将鼠标悬停在 菜单 文本上时 我需要滑动到右侧蓝线 并在 400 毫秒延迟后从左侧灰线滑动 是否可以 menu display inline block position relative f