涨姿势了,有意思的气泡 Loading 效果

今日,群友提问,如何实现这么一个 Loading 效果:

这个确实有点意思,但是这是 CSS 能够完成的?

没错,这个效果中的核心气泡效果,其实借助 CSS 中的滤镜,能够比较轻松的实现,就是所需的元素可能多点。参考我们之前的:

圆弧的实现

首先,我们可能需要实现这样一段圆弧:

这里需要用到的技术是:

角向渐变 conic-gradient() + mask 以及两个伪元素。图片示意如下:

核心代码如下图:

<div class="g-container">
  <div class="g-circle"></div>
</div>
:root {
    --headColor: hsl(130, 75%, 75%);
    --endColor: hsl(60, 75%, 40%);
}
.g-container {
    position: relative;
    background: #000;
}
.g-circle {
    position: relative;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: conic-gradient(
        var(--headColor) 0, 
        var(--headColor) 10%,
        hsl(120, 75%, 70%), 
        hsl(110, 75%, 65%), 
        hsl(100, 75%, 60%),
        hsl(90, 75%, 55%), 
        hsl(80, 75%, 50%),
        hsl(70, 75%, 45%),
        var(--endColor) 30%,
        var(--endColor) 35%,
        transparent 35%
    );
    mask: radial-gradient(transparent, transparent 119px, #000 120px, #000 120px, #000 100%);
    
    &::before,
    &::after {
        content: "";
        position: absolute;
        inset: 0;
        width: 30px;
        height: 30px;
        background: var(--headColor);
        top: 0;
        left: 135px;
        border-radius: 50%;
    }
    
    &::after {
        background: var(--endColor);
        left: unset;
        top: 214px;
        right: 26px;
    }
}

这样,我们就得到了这样一个图形:

气泡的实现

接下来,我们来实现尾部气泡向外扩散的效果。

由于这里涉及了多个气泡的不同运动动画,多个标签元素肯定是少不了了。

因此,接下来我们要做的事情:

  1. 我们需要多一组元素,将其绝对定位到上述圆环的头部或者尾部
  2. 给每个子元素随机设置多个大小不一的圆,颜色保持一致
  3. 给每个子元素随机设置不同方向的,向外扩散的位移动画
  4. 给每个子元素随机设置负的 animation-delay,造成动画上的先后顺序,并以此形成整个无限循环的气泡扩散动画

这里,由于有许多小气泡的动画,这个数量,我设置成了 100。那肯定是不能一个一个手写它们的动画代码,需要借助 SASS/LESS 等预处理器的循环、随机等函数。

核心代码如下:

<div class="g-container">
  <div class="g-circle"></div>
  <ul class="g-bubbles">
    <li class="g-bubble"></li>
    // ... 共 100 个 bubble 元素 
    <li class="g-bubble"></li>
  </ul>
</div>
// 上面圆环的代码,保持一致,下面只补充气泡动画的代码
.g-bubbles {
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius: 50px;
    top: 100px;
    left: 235px;
    background: var(--headColor);
}

.g-bubble {
    position: absolute;
    border-radius: 50%;
    background-color: inherit;
}

@for $i from 1 through 100 { 
    .g-bubble:nth-child(#{$i}) {
        --rotate: calc(#{random(360)} * 1deg);
        --dis: calc(#{random(100)} * 1px);
        --width: calc(3px + #{random(25)} * 1px);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: var(--width);
        height: var(--width);
        animation: move #{(random(1500) + 1500) / 1000}s ease-in-out -#{random(3000) / 1000}s infinite;
    }
}

@keyframes move {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    75% {
        opacity: .9;
    }
    100% {
        transform: rotateZ(var(--rotate)) translate(-50%, var(--dis));
        opacity: .4;
    }
}

核心在于 @for $i from 1 through 100 { } 这段 SASS 代码内部,我们实现了上面说的 (2)(3)(4) 的功能点!

这样,我们就得到了这样一个效果,在尾部有大量气泡动画,不断向外扩散的效果:

借助滤镜实现粘性气泡效果

OK,到这里整个效果基本就做完了。当然,也是剩下最后最重要的一步,需要让多个气泡之间产生一种粘性融合的效果。

这个技巧在此前非常多篇文章中,也频繁提及过,就是利用 filter: contrast() 滤镜与 filter: blur() 滤镜。

如果你还不了解这个技巧,可以戳我的这篇文章看看: 你所不知道的 CSS 滤镜技巧与细节

简述下该技巧:

单独将两个滤镜拿出来,它们的作用分别是:

  1. filter: blur(): 给图像设置高斯模糊效果。
  2. filter: contrast(): 调整图像的对比度。

但是,当他们“合体”的时候,产生了奇妙的融合现象。

仔细看两圆相交的过程,在边与边接触的时候,会产生一种边界融合的效果,通过对比度滤镜把高斯模糊的模糊边缘给干掉,利用高斯模糊实现融合效果。

基于此,我们再简单改造下我们的 CSS 代码,所需要加的代码量非常少:

  1. 加上滤镜 blur() 和 contrast() ,形成融合粘性效果
  2. 加上整个圆环的旋转即可效果
  3. 加上滤镜 hue-rotate(),实现色彩的变换动画
.g-container {
    // ... 保持一致
    background: #000;
    filter: blur(3px) contrast(5);
    animation: rotate 4s infinite linear;
}
@keyframes rotate {
    100% {
        transform: rotate(360deg);
        filter: blur(3px) contrast(5) hue-rotate(360deg);
    }
}

就这样,我们就大致还原了题图的效果:

完整的代码,你可以戳这里: CodePen Demo -- Pure CSS Loading Animation

修复违和感

当然,上面的效果,乍一看还行,仔细看,违和感很重。

原因在于,扩散出来的小球也跟着半圆环一起进行了旋转动画,看上去就有点奇怪。

正确的做法应该是,圆环尾部的气泡应该是原地发散消失的。

那么,怎么能够做到气泡效果,一直发生在圆环的尾部,同时消失的时候又不跟着整个圆环一起进行旋转呢?我们想要的最终效果,应该是这样:

这里,我们可以拆解一下。想象,如果去掉圆环的旋转,其实我们只需要实现这样一个效果即可:

整个动画的核心就转变成了如何实现这么一个效果。看似复杂,其实也很好做。

首先,我们重新改造一下上述的 .g-bubbles

  1. 生成 N 个一样大小的小球元素,定位在整个容器的中间
<div class="g-container">
  <div class="g-circle"></div>
  <ul class="g-bubbles">
    <li class="g-bubble"></li>
    // ... 共 200 个 bubble 元素 
    <li class="g-bubble"></li>
  </ul>
</div>
.g-bubbles {
    position: absolute;
    width: 30px;
    height: 30px;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    border-radius: 50px;
}
.g-bubble {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: hsl(60, 75%, 40%);
}

得到这么一个效果,所有圆形小点,都暂时汇聚在容器的中心:

这里需要简单解释一下:

其次,我们借助 SASS,按照元素的顺序,把它们顺序排列到圆环轨迹之上:

$count: 200;
@for $i from 1 through $count { 
    .g-bubble:nth-child(#{$i}) {
        --rotate: calc(#{360 / $count} * #{$i} * 1deg);
        transform: 
            rotateZ(var(--rotate)) 
            translate(135px, 0);
        opacity: 1;
    }
}

由于我们设置了 div 小球的个数为 200 个,这样,我们就得到了一圈由 200 个圆形小球形成的圆环:

接下来这一步非常重要,我们设定一个动画:

  1. 让每个小球在动画的 75% ~ 100% 阶段做透明度从 1 到 0 的变换,而 0% ~ 75% 的阶段保持透明度为 0
  2. 让 200 个 div 依次进行这个动画效果(利用负的 animation-delay,从 -0 到 -4000ms),整体上就能形成逐渐消失的效果
@for $i from 1 through $count { 
    .g-bubble:nth-child(#{$i}) {
        --rotate: calc(#{360 / $count} * #{$i} * 1deg);
        --delayTime: calc(4000 * #{$i / $count} * -1ms);
        transform: 
            rotateZ(var(--rotate)) 
            translate(135px, 0);
        opacity: 1;
        animation: showAndHide 4000ms linear var(--delayTime) infinite;
    }
}
@keyframes showAndHide {
    0% {
        opacity: 0;
    }
    75% {
        opacity: 0;
    }
    75.1% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

这样,我们就得到了一个圆形小球气泡围绕圆环渐次消失的效果:

配合上整个圆环,效果就会是这样:

很接近了,但是没有随机的感觉,气泡也没有散开的动画。解决的方案:

  1. 所以我们需要让气泡在执行透明度变化的同时,进行一个随机的发散位移
  2. 小圆形气泡的大小也可以带上一点随机,同时,在动画过程逐渐缩小

当然,整个动画的基础,还是在容器设置了 滤镜 blur() 和 contrast() 的加持之下的,这样,我们给气泡再补上随机动画散开及缩放的动画:

@for $i from 1 through $count { 
    .g-bubble:nth-child(#{$i}) {
        --rotate: calc(#{360 / $count} * #{$i} * 1deg);
        --delayTime: calc(4000 * #{$i / $count} * -1ms);
        --scale: #{0.4 + random(10) / 10};
        --x: #{-100 + random(200)}px;
        --y: #{-100 + random(200)}px;
        transform: 
            rotateZ(var(--rotate)) 
            translate(135px, 0);
        opacity: 1;
        animation: showAndHide 4000ms linear var(--delayTime) infinite;
    }
}

@keyframes showAndHide {
    0% {
        transform: 
            rotateZ(var(--rotate)) 
            translate(135px, 0);
        opacity: 0;
    }
    75% {
        opacity: 0;
    }
    75.1% {
        transform: 
            rotateZ(var(--rotate)) 
            translate(135px, 0)
            scale(var(--scale));
        opacity: 1;
    }
    100% {
        transform: 
            rotateZ(var(--rotate)) 
            translate(calc(135px + var(--x)), var(--y))
            scale(.2);
        opacity: 0;
    }
}

只看一圈的气泡圆形,我们能得到了这样的效果:

配合上圆环的效果:

配合上父容器的 filter: hue-rotate() 动画,就能实现颜色的动态变换,得到我们最终想要的效果:

这样,没有了第一版本的违和感,整个效果也显得比较自然。

完整的代码,你可以戳这里: CodePen Demo -- Pure CSS Loading Animation 

xox_761617
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
css3属性蒙版:-webkit-mask
weixin_30696427的博客
11-08 1564
-webkit-mask: 蒙版,用于将固定形状设置透明度,形状可以是一个div,也可以是一张图片; 用法:-webkit-mask:radial-gradient(transparent 50px, rgb(0,0,0) 51px); 转载于:https://www.cnblogs.com/wangqiao170/p/9928178.html...
css3 属性笔记(一)
QDzzzhy
05-11 358
conic-gradient() 圆锥渐变,参数中指定渐变的颜色 用法: background: conic-gradient(#9ED110, #50B517, #179067, #476EAF, #FF3BA7, #FF5800, #FF8100, #FEAC00, #FFCC00, #EDE604); 效果(这里通过border-radius将其变为了圆形) radial-gradien...
vue 流光边框矩形圆形容器
无心使然云中漫步
12-19 1435
实现流光边框一般是用渐变背景加动画实现,然后使用内部盒子遮挡内部空间,达到边框流光的效果思路:背景渐变+旋转动画。
使用 mask 实现视频弹幕人物遮罩过滤
JNPF快速开发平台的博客
02-24 958
经常看一些 LOL 比赛直播的小伙伴,肯定都知道,在一些弹幕网站(Bilibili、虎牙)中,当人物与弹幕出现在一起的时候,弹幕会“巧妙”的躲到人物的下面,看着非常的智能。 简单的一个截图例子: 其实,这里是运用了 CSS 中的 MASK 属性实现的。 mask 简单用法介绍 之前在多篇文章都提到了 mask,比较详细的一篇是 -- 奇妙的 CSS MASK,本文不对 mask 的基本概念做过多讲解,向下阅读时,如果对一些 mask 的用法感到疑惑,可以再去看看。 这里只简单介绍下 mask
通过 css mask 编写圆行进度条
最新发布
qq_40245962的博客
04-25 823
通过设置mask中属性radial-gradient CSS 函数创建一个图像,该图像由从原点辐射的两种或多种颜色之间的渐进过渡组成,其形状可以是圆形或椭圆形;动态由css属性conic-gradient来创建一个由渐变组成的图像,渐变的颜色围绕一个中心点旋转(而不是从中心辐射)进行过渡;属性允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域。ps 不设置radial-gradient效果。通过按钮可控制进度条进程。首先了解一个css属性。
气泡 Loading 效果
12-21
这个效果中的核心气泡效果,其实借助 CSS 中的滤镜,能够比较轻松的实现,就是所需的元素可能多点。 角向渐变 conic-gradient() + mask 以及两个伪元素。 我们需要多一组元素,将其绝对定位到上述圆环的头部或者...
Android气泡效果实现方法
09-02
在Android开发中,气泡效果通常用于创建一种引人注意的视觉提示,比如通知或指示。本篇文章将详细解析如何在Android中实现这样的效果,主要包括使用RelativeLayout布局、TextView控件以及对话框Dialog的相关技巧。 ...
微信小程序小组件:仿直播点赞气泡效果,基于Canvas
03-29
先撸一发效果图为敬: (此图片来源于网络,如有侵权,请联系删除! )   实现细节: 1.JS:   drawImage:function(data){[/align] var that = this var p10= data[0][0]; /* 三阶贝塞尔曲线起点坐标值*/ var p11= ...
vue 指令之气泡提示效果的实现代码
10-17
在本文中,我们将深入探讨如何实现一个自定义的Vue指令来创建气泡提示效果气泡提示通常用于在用户将鼠标悬停在某个元素上时提供额外的信息或指导。 首先,我们需要了解Vue指令的生命周期。Vue指令有五个主要阶段...
Android 触摸屏幕产生小气泡效果应用源码.zip
07-17
在Android开发中,实现触摸屏幕产生小气泡效果是一种常见的用户交互增强技术,它可以增加应用程序的趣味性和用户体验。本文将详细解析如何通过Android源码来实现这一效果。 首先,我们需要理解Android事件处理...
如何使用CSS3实现一个3D泡沫图形
dawuafang
05-06 249
要实现一个逼真的泡沫,涉及到比较复杂的光学/物理学知识。 我们这里先简化下问题,实现一个相对简单而足够实用的泡沫元素。 我们可以把基础的泡沫元素应用在很多场景中,比如水景、泡咖啡、啤酒甚至火焰特效中。 泡沫首先是一个圆形元素 1 2 3 4 5 .bubble{ width:200px; height:200px; border-radius:50%; } 上面圆角边框半...
利用ES6中的类制作一个简单Loading遮罩层
qq_44212319的博客
02-24 268
ES6中的类制作一个简单遮罩层   这个一个使用ES6的类,制作的一个简单的Loading遮罩层,可以展示Loading动画,或显示指定的文本,还可以设置遮罩层多少毫秒以后关闭,或者手动关闭遮罩层。 代码如下: class Info{ // 构造函数 constructor(settings){ this.configure = settings; ...
使用 CSS 轻松实现高频出现的各类奇形怪状按钮
Yvette Lau的专栏
11-22 751
背景在群里会有同学问相关的问题,怎么样使用 CSS 实现一个内切角按钮呢、怎么样实现一个带箭头的按钮呢?本文基于一些高频出现在设计稿中的,使用 CSS 实现稍微有点难度和技巧性的按钮,讲解...
视频字幕不能巧妙的隐藏?那快来看看mask 如何实现视频弹幕人物遮罩过滤
huz1lu的博客
03-02 559
经常看一些 LOL 比赛直播的小伙伴,肯定都知道,在一些弹幕网站(Bilibili、虎牙)中,当人物与弹幕出现在一起的时候,弹幕会“巧妙”的躲到人物的下面,看着非常的智能。 简单的一个截图例子: 其实,这里是运用了 CSS 中的 MASK 属性实现的。 mask 简单用法介绍 之前在多篇文章都提到了 mask,比较详细的一篇是 -- 奇妙的 CSS MASK,本文不对 mask 的基本概念做过多讲解,向下阅读时,如果对一些 mask 的用法感到疑惑,可以再去看看。 这里只简单介绍下 mask
CSS3 遮罩蒙版效果 分栏效果
热门推荐
浅醉樱花雨的专栏
09-07 1万+
mask遮罩蒙版效果 来看一下效果图: 这是两张原图: 遮罩层图像 注意,白色区域为透明状态 要展示的图像     使用mask之后产生的效果图   首先来解释一下遮罩、蒙版。和PS中的蒙版、Flash中的遮罩层很类似 遮罩:为了得到特殊的显示效果,可以在遮罩层上创建一个任意形状的“视窗”,遮罩层下方的对象可以通过该“视窗”显示
css遮罩mask_使用mask-image属性在CSS中遮罩图像
09-15 2311
css遮罩maskWe covered the use of the clip-path property for clipping using CSS, so it’s only natural that we now go over masking. Contrary to clipping, where a part of an image or element is either comp...
CSS3学习之radial-gradient(径向渐变)
weixin_33720956的博客
04-22 2664
转自:http://www.cnblogs.com/rainman/p/5133685.html 1、语法 径向渐变不同于线性渐变,线性渐变是从“一个方向”向“另一个方向”的颜色渐变,而径向渐变是从“一个点”向四周的颜色渐变。其语法如下: background: radial-gradient(center, shape, size, start-color, ..., last-col...
CSS奇思妙想—使用 mask 实现视频弹幕人物遮罩过滤
PC_372的博客
03-06 461
使用 mask 实现视频弹幕人物遮罩过滤 经常看一些 LOL 比赛直播的小伙伴,肯定都知道,在一些弹幕网站(Bilibili、虎牙)中,当人物与弹幕出现在一起的时候,弹幕会“巧妙”的躲到人物的下面,看着非常的智能。 简单的一个截图例子: 其实,这里是运用了 CSS 中的 MASK 属性实现的。 mask 简单用法介绍 之前在多篇文章都提到了 mask,比较详细的一篇是 --奇妙的 CSS MASK,本文不对 mask 的基本概念做过多讲解,向下阅读时,如果对一些 mask 的用法感到疑惑,可.
CSS实现优惠券特殊样式的技巧
JackieDYH的博客
03-24 3343
Web 开发过程中,总会遇到各种各样的布局,比如下面的各种“优惠券”,一起来看看吧 一、最佳实现方式 首先,碰到这类布局的最佳实现肯定是mask遮罩。关于遮罩,可以看一下CSS3 Mask 安利报告。这里简单介绍一下 基本语法很简单,和background的语法基本一致 .content{ -webkit-mask: '遮罩图片' ; } /*完整语法*/ .content{ -webkit-mask: '遮罩图片' [position] / [size] ; }...
CSS3绘制创意气泡动画与光晕效果技巧
气泡动画特效中的“光晕效果”通常是指在气泡或图标周围加上一层柔和的光芒,以增强视觉效果,使其看起来更加明亮和吸引人。这种光晕效果可以通过使用CSS3的渐变(gradients)、阴影(shadows)或滤镜(filters)等...
写文章

热门文章

  • Gradio入门到进阶全网最详细教程:快速搭建AI算法可视化部署演示(侧重参数详解和案例实践) 4215
  • Prometheus监控之SNMP Exporter介绍和数据展现 3012
  • Prometheus服务发现之kubernetes_sd_config 2610
  • 泰拉瑞亚EasyBuildMod便捷建造模组开发详细过程 2527
  • 常用脚本学习手册——Bat脚本 2351

最新评论

  • [Asp.Net Core] 网站中的XSS跨站脚本攻击和防范

    叶仿达: ConverMatchComments() 这个函数没做好,按我理解是把<!-- -->里边包含的HTML标签尖括号要特殊的编码化,避免在这两个函数ProcessTag()、BalanceHTML()处理过程中出现bug。 你这样测就懂了 stripComment = false

  • 实例讲解Spring boot动态切换数据源

    征途黯然.: 分析的挺详细的,学习下,谢谢博主分享

  • OpenHarmony SystemUI开发记录

    无风之翼: 为什么你们都编译了就能用了,我编译了搞进去一直起不来,签名都对上的

大家在看

  • C++继承篇
  • 从来图代工到云PLM的校企协同研发,浙江阀门代工厂的新球阀斩获130万订单
  • c# lambda表达式关于 闭包 的知识点讲解 486
  • 洛谷 P4541:[ZJOI2011] 细胞 ← DP+矩阵快速幂 674
  • NOIPJ2015A金币

最新文章

  • .Net Core后端架构实战【介入IOC控制反转】
  • Docker安装MS SQL Server并使用Navicat远程连接
  • .net 温故知新:Asp.Net Core WebAPI 入门使用及介绍
2023年129篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xox_761617

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家北京哪里有卖玻璃钢雕塑的铁岭玻璃钢马雕塑商场开业美陈雕塑玻璃钢雕塑肖像制作广西玻璃钢雕塑采购自贡玻璃钢雕塑定制玻璃钢牛角包雕塑防城港玻璃钢泡沫雕塑厂家北京大型主题商场美陈费用玻璃钢雕塑的制作周期黔南州商场美陈图片淅川玻璃钢雕塑价格商场美陈厂家直销广东玻璃钢仿铜雕塑云岗商场美陈鹤壁玻璃钢雕塑厂家河池玻璃钢商场美陈价格低的玻璃钢仿铜雕塑大型的景观玻璃钢雕塑高淳玻璃钢雕塑公司玻璃钢彩绘雕塑动物十堰玻璃钢人物雕塑广东佛像玻璃钢雕塑图片达州玻璃钢仿真水果雕塑厂家发光玻璃钢雕塑上色卡通玻璃钢雕塑设计及定制浙江室内商场美陈研发江门玻璃钢雕塑包括哪些商城玻璃钢雕塑玻璃钢粮仓雕塑图片香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化