当图标悬停时,滑入文字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当图标悬停时,滑入文字相关的知识,希望对你有一定的参考价值。

我一直想得到一个效果,其中。

  1. 图标字体显示,旁边的文字被隐藏。
  2. 当鼠标悬停在一个图标上时,滑入被隐藏的文本。从右边滑入。

这是我目前试过的效果。

(因为要花很多时间,所以用一些随机的键盘符号来代替图标)http:/jsfiddle.neth9EX9

ul li  display: inline-block; list-style-type: none; margin-right: 10px; background: #eee; 
ul li span  display: inline-block; 
ul li a  display: inline-block; width: 0; height: 0; overflow: hidden;  
ul li:hover a   transition: all 1s ease-out; width: 100%; height: auto; 

enter image description here

这就是我想达到的效果。评论的文字和和宽度从右边滑落。但是除了这个图标之外,还有其他的图标,我希望也可以在背景宽度扩大的时候滑动这些图标。我希望当背景的宽度扩大时,也可以滑动这些图标。

那么这是否可能,如果可以,如何实现?

答案

这是你的演示,在CSS上做了一些工作。这是一个有点长篇大论,但得到的工作,没有javascript只使用CSS过渡的动画。出于某种原因,它的动画效果更好,使用 max-width 而不是 width 但我不知道为什么。

演示一下。 http:/jsfiddle.netMarcelh9EX91。

当正确实现时,你可能想使用一个额外的包装元素来代替 <a> 因为你会有多个 <a> 例如 "标签 "按钮中的元素。

另一答案

我想这就是你要找的:html

<div id="holder">
    <div id="comment-button">♥
        <div id="comment-button-text">Comment</div>
    </div>

</div>

JS:

$('#comment-button').hover(
  function () 
      $(this).animate(
  width: '70px',
,1000)
      $('#comment-button-text').animate(
  width: '70px',
,1000)
  ,
  function () 
         $(this).animate(
  width: '11px',
,1000)
          $('#comment-button-text').animate(
  width: '0px',
,1000)

  
);

和一些样式。

#comment-button
background-color: #ababab;
width: 11px;
border-radius: 15px;
height: 15px;
padding: 10px;
color: red;

#comment-button-text
   width: 0px;
display: block;
overflow: hidden;
position: absolute;
top: 16px;
left: 31px;
color: #8a8a8a;

这里是工作中的fiddle: http:/jsfiddle.netxs4Nt1

另一答案

你可以通过使用jQuery的hover()函数来实现,这里有一些演示代码。

<script type="text/javascript">
$(".icon").hover(function() $(".text").show("slide",  direction: "left" , 1000);, function() $(".text").show("slide",  direction: "right" , 1000););
</script>

当然,你必须像你提到的那样,将.text的显示设置为none,并且不要忘记将jQuery脚本包含在你的HTML的头部部分。

ps.你可以用其他的CSS选择器来代替.icon和.text来选择你的图标或文本,例如ul li a,所以$(".icon".hover会变成$("ul li a".hover)。 你可以用任何其他CSS选择器替换.icon和.text来选择你的图标或文本,例如ul li a,所以$(".icon").hover将变成$("ul li a").hover。

另一答案

我知道这是一个老帖子,但这可能会帮助新来的人... 这是一个修复和改进 @SeekingKnowledge的 帖子(链接)。以下是我的代码版本,解释一下。

$("#closeText").hide(); $("#close").hover(function() $("#closeText").show("slide",  direction: "left" , 400);, function() $("#closeText").hide("slide",  direction: "left" , 400););

替换 #close 与你的图标元素的ID,并更改所有三个 #closeText 与包含您的文本ID的元素。你可以自定义动画时间,改变目前400的值(以毫秒为单位),然而,这对我的网站来说是一个很好的速度。你还需要设置 #close CSS的z-index比z-index多2个。#closeTest. 记得要用jQuery! 这里是 我如何在我的网站上使用它的一个页面(链接到CodePen)。希望这能帮助任何在这里寻找答案的人 Luka S

以上是关于当图标悬停时,滑入文字的主要内容,如果未能解决你的问题,请参考以下文章

悬停时可折叠图标/内容颜色更改

字形图标在悬停时改变颜色加上文本链接

css实现当鼠标停留在图片时显示文字 谢谢!

在悬停时展开带有动画的按钮

CSS 导航:当鼠标悬停在图标上时,图标应替换为文本链接

如何在悬停过渡期间使文本翻译/宽度增加