css大会网站顶部的一个特效

看到http://css.w3ctech.com/ 上一个效果觉得挺赞的。

然后学些了一下。

demo地址:http://codepen.io/tianzi77/pen/mJaLWq

html结构很简单,就是一个p,2个span标签嵌套在a标签里面。

    <a href="/" class="link-mallki">
            思君子兮未敢言 zhuangjia 
            <span data-letters="思君子兮未敢言 zhuangjia"></span>
            <span data-letters="思君子兮未敢言 zhuangjia"></span>
          </a>

样式有点复杂,总体是利用动画,伪类hover前后的样式进行变化出现炫酷的效果:

        body {
            background: black;
        }

        a {
            display: inline-block;
            font-size: 60px;
            margin: 30px 0 20px;
        }

        [class*="link-"] {
            outline: none;
            text-decoration: none;
            position: relative;
            line-height: 1;
            display: inline-block;
        }

        .link-mallki {
            color:#fff;
            -webkit-transition: color 0.5s 0.25s;
            transition: color 0.5s 0.25s;
            overflow: hidden;
        }

        .link-mallki:hover {
            -webkit-transition: none;
            transition: none;
            color: transparent;
        }

        .link-mallki::before {
            content: '';
            width: 100%;
            height: 2px;
            margin: -3px 0 0 0;
            background: #fff;
            position: absolute;
            left: 0;
            top: 50%;
            -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
            -webkit-transition: -webkit-transform 0.4s;
            transition: transform 0.4s;
            -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
            transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
        }

        .link-mallki:hover::before {
            -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
        }

        .link-mallki span {
            position: absolute;
            height: 50%;
            width: 100%;
            left: 0;
            top: 0;
            overflow: hidden;
        }

        .link-mallki span::before {
            content: attr(data-letters);
            position: absolute;
            left: 0;
            width: 100%;
            color: #abcdef;
            -webkit-transition: -webkit-transform 0.5s;
            transition: transform 0.5s;
        }

        .link-mallki span:nth-child(2) {
            top: 50%;
        }

        .link-mallki span:first-child::before {
            top: 0;
            -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
        }

        .link-mallki span:nth-child(2)::before {
            bottom: 0;
            -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
        }

        .link-mallki:hover span::before {
            -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
            -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
            transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
        }
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这里是一个使用 CSS 实现烟花特效的例子: ```css @keyframes fireworks { 0% { transform: translateY(0) scale(1); opacity: 1; } 100% { transform: translateY(-1000px) scale(0); opacity: 0; } } .firework { position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; border-radius: 50%; background-color: red; } .firework.blue { background-color: blue; } .firework.yellow { background-color: yellow; } .firework.green { background-color: green; } .firework.white { background-color: white; } .firework { animation: fireworks 2s ease-in-out; } .firework.delayed { animation-delay: 0.5s; } .firework.longer { animation-duration: 3s; } ``` 您可以通过更改背景颜色、动画持续时间、动画延迟时间等属性来调整烟花的外观。你还可以使用 JavaScript 来控制烟花的发射。 ### 回答2: 要实现一个网页烟花特效,可以使用CSS来创建一系列动画和过渡效果。以下是一种可能的实现方法: 首先,可以在HTML中创建一个包含烟花元素的容器。使用`<div>`元素,并赋予一个特定的id,例如`fireworks`。 然后,在CSS中定义该容器的样式。设置`position: relative`以确保元素相对于其父元素进行定位。还可以设置`width`和`height`属性以确定元素的大小。 接下来,可以添加一个伪元素(`::before`或`::after`)来表示烟花的主体。设置该伪元素的样式,例如`content: ""`以确保其可见,并设置合适的`width`和`height`属性来定义烟花的大小和形状。使用`border-radius`属性可以赋予烟花圆角。 然后,使用CSS动画和关键帧来实现烟花的动态效果。定义一个名为`firework`的动画,设置合适的时长和缓动函数,例如`ease-in-out`。在关键帧中,分别定义起始和结束状态,并使用`transform`属性和`translate`函数来控制烟花的位置和运动轨迹。可以通过添加多个关键帧来制定更复杂的动画。 最后,在CSS样式中,使用`animation`属性将动画应用到烟花元素上。设置适当的延迟和重复次数,以实现一连串的烟花爆炸效果。 综上所述,通过在HTML中创建一个元素容器,在CSS中定义样式和动画,可以实现一个网页烟花特效。根据需要,可以通过调整样式和关键帧来定制烟花的外观和动画效果。 ### 回答3: 要实现网页烟花特效,可以借助CSS中的伪元素和动画来实现。以下是一个简单的实现方案。 首先,在HTML中创建一个div元素,作为烟花的容器: ``` <div class="firework"></div> ``` 然后,在CSS中添加样式: ``` .firework { width: 10px; height: 10px; background-color: red; position: relative; } .firework::before { content: ""; width: 4px; height: 4px; background-color: yellow; position: absolute; left: 3px; top: -6px; border-radius: 50%; transform: scale(0); animation: explode 1s ease-out forwards; } @keyframes explode { 0% { transform: scale(0); } 100% { transform: scale(10); opacity: 0; } } ``` 在上述代码中,我们使用了一个div元素作为烟花的主体,并且使用伪元素::before来表示烟花的火花部分。火花部分使用了一个圆形div,并增加了动画效果。 通过设置火花伪元素的大小、位置和动画效果,模拟了烟花的形状和爆炸效果。动画效果定义了火花从初始状态到爆炸状态的变化过程。在动画的最后帧,我们设置了火花的透明度为0,使其消失。 这样,当网页加载完成后,烟花特效就会自动触发。可以自行调整烟花容器和火花的样式、位置和动画效果,实现更多样式的烟花特效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值