0

我正在创建一个投资组合,我想要它,这样每当有人将鼠标悬停在我的名字上时,就会出现一个带有箭头的气泡。我已经完成了那部分,但问题是该-webkit-transition属性不起作用。气泡离我的名字有点远,所以我想要它,以便再次隐藏起来需要一点时间,所以有人可以很容易地去它,因为我正在考虑制作一个表格来联系我。

我的 HTML:

<div id="side-bar"><h1 id="ab_me">About Me</h1>
<img src="saksham.png" id="saksham">
<p id="name"><span>S</span>aksham <span>C</span>hauhan</p>

<div id="bubble">
SUP !
<div id="bubble-arrow-border">
</div>
<div id="bubble-arrow">
</div>
</div>

</div>

我的 CSS:

div#side-bar p
{
font-size:25;
border-bottom:2px solid red;
position:absolute;
left:10px;
color:#F63737;
}
div#side-bar p:hover
{
border-bottom:2px groove #C01F1F;
color:#C01F1F;
text-shadow:0px 1px 2px #F98378;
-webkit-transition:1s;
}
div#side-bar p span
{
font-size:40px;
}
div#side-bar p:hover ~ #bubble
{
display:block;
visibility:visible;
opacity:1;
-webkit-transition:5s;
}
div#side-bar p #bubble:hover
{
display:block;
visibility:visible;
opacity:1;
}
#bubble
{
background-color:#EDEDED;
visibility:hidden;
border:2px solid #666666;
font-size:35px;
line-height:1.3em;
padding:10px;
position:absolute;
text-align:center;
width:300px;
-moz-border-radius:15px;
-webkit-border-radius:15px;
-moz-box-shadow:0 0 5px #888888;
-webkit-box-shadow:0 0 5px #888888;
z-index:100;
left:230px;
top:400px;
display:none;
-webkit-transition:5s;
opacity:0;
}
#bubble-arrow
{
border-color:transparent #EDEDED transparent transparent;
border-style: solid;
border-width: 15px;
height:0;
width:0;
position:absolute;
bottom:25px;
left:-28px;
z-index:100;
}
#bubble-arrow-border
{
border-color:transparent #666666 transparent transparent;
border-style: solid;
border-width: 15px;
height:0;
width:0;
position:absolute;
bottom:25px;
left:-31px;
}
4

3 回答 3

1

当您使用 a 时,transition您必须同时设置“之前”和“之后”状态(例如,您不能从 nothing 过渡到opacity:0但可以从opacity:1to过渡opacity:0)。此外,你不能有一个过渡,display但你可以在visibility.

这里有一些关于过渡的更多信息:https ://developer.mozilla.org/en-US/docs/CSS/Tutorials/Using_CSS_transitions

于 2013-03-03T09:39:07.723 回答
0

不要发布您的整个代码,只发布相关代码。

CSS 过渡不适用于display:none. 当我不得不使用display:none时,我不得不使用 Javascript 来补充我的 CSS。

因此,如果您从中删除display:none#bubble然后使用:

-webkit-transition:all 1000ms;

On #bubble,然后#bubble:hover将不透明度设置为 1:

opacity:1;

你的气泡会淡入,然后淡出。

http://jsfiddle.net/charlescarver/nrTMg/1/

于 2013-03-03T16:16:21.830 回答
0

您必须告诉它要转换的属性。看起来你正在尝试这样做:

transition:all 1s ease;
-webkit-transition:all 1s ease;
于 2013-03-03T04:34:56.120 回答