使用CSS3,我可以创建使边界脉冲输入和输出的关键帧吗?

时间:2012-01-06 02:57:45

标签: css css3 css-animations

我有一个边框周围的图像。我希望边界淡入淡出。这是否可以使用opacity + webkit关键帧?想法?

由于

3 个答案:

答案 0 :(得分:13)

以下是一个例子:

@keyframes border-pulsate {
    0%   { border-color: rgba(0, 255, 255, 1); }
    50%  { border-color: rgba(0, 255, 255, 0); }
    100% { border-color: rgba(0, 255, 255, 1); }
}

img {
    border: 20px solid cyan;
    animation: border-pulsate 2s infinite;
}

这是小提琴:http://jsfiddle.net/RYT8L/4/


请注意,在现实世界中,您必须包含所有供应商前缀,或使用Lea Verou名为-prefix-free的优秀工具(这是我在那个小提琴中使用的)

答案 1 :(得分:9)

试试这个脉动边界

<div id="content">
   hello
</div>

@-webkit-keyframes pulseBorder {
  from {
    border:solid 1px #f00;
  }
  to {
    border:solid 10px #f00;

  }
}

div {
  -webkit-animation-name: pulseBorder;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease;
  -webkit-animation-direction: alternate;
  -webkit-animation-duration: 0.5s;
    text-align:center;
    border: solid 1px #f00
}

DEMO

答案 2 :(得分:0)

我做了以下内容来处理其他元素的边框颜色可能不同的情况。

这允许在具有不同颜色边框的多个元素上使用一个关键帧。您所需要做的就是将rgba修改为背景颜色。

@keyframes border-pulse {
    50% {
        border-color: rgba(255, 255, 255, 0);
    }
}

#first {
    width: 50px;
    height: 50px;
    border: 5px solid cyan;
    animation: border-pulse 2s infinite;
}

#second {
    width: 50px;
    height: 50px;
    border: 5px solid red;
    animation: border-pulse 2s infinite;
}
<div id="first"></div>
<div id="second"></div>