CSS3实现带阴影的弹球

实现div上下跳动时,底部阴影随着变化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS3实现带阴影的弹球</title>
    <style type="text/css">
        .box{
            width: 400px;
            height: 300px;
            border: 1px #cccccc solid;
            /*距上下30,左右居中*/
            margin: 30px auto;
            /* 设置相对定位,以便子元素使用绝对定位 */
            position: relative;
        }
        .box .ball, .box .ball:after{
            border-radius: 50%;
            position: absolute;
            left: 50%;
            background: linear-gradient(top, #ffffff, #999999);
            background: -webkit-linear-gradient(top, #ffffff, #999999);
            background: -moz-linear-gradient(top, #ffffff, #999999);
            background: -ms-linear-gradient(top, #ffffff, #999999);
            background: -o-linear-gradient(top, #ffffff, #999999);
        }
        .box .ball{
            width: 140px;
            height: 140px;
            top: 0;
            /*因为是绝对定位,距左边百分之50,这里距左是左边距盒子左边,所以这里需要通过margin向左移动宽度一般的距离*/
            margin-left: -70px;
            -webkit-box-shadow: inset 0 0 30px #999999,inset 0 -15px 70px #999999;
            -moz-box-shadow: inset 0 0 30px #999999,inset 0 -15px 70px #999999;
            box-shadow: inset 0 0 30px #999999,inset 0 -15px 70px #999999;
            -webkit-animation: jump 5s ease-in infinite;
            -o-animation: jump 5s ease-in infinite;
            animation: jump 5s ease-in infinite;
            /*让球遮住阴影(使球显示在阴影上方)*/
            z-index: 1;
        }
        .box .ball:after{
            content: "";
            display: block;
            width: 70px;
            height: 30px;
            border-radius: 50%;
            top: 10px;
            margin-left: -35px;
        }
        .box .shadow{
            width: 80px;
            height: 60px;
            border-radius: 50%;
            position: absolute;
            bottom: 0;
            left: 50%;
            margin-left: -40px;
            background: rgba(20, 20, 20, .1);
            -webkit-box-shadow: 0 0 25px 20px rgba(20, 20, 20, .1);
            -moz-box-shadow: 0 0 25px 20px rgba(20, 20, 20, .1);
            box-shadow: 0 0 25px 20px rgba(20, 20, 20, .1);
            -webkit-transform: scaleY(.3);
            -moz-transform: scaleY(.3);
            -ms-transform: scaleY(.3);
            -o-transform: scaleY(.3);
            transform: scaleY(.3);
            -webkit-animation: shrink 5s ease-in infinite;
            -o-animation: shrink 5s ease-in infinite;
            animation: shrink 5s ease-in infinite;
        }
        @-webkit-keyframes jump {
            0%{ top: 0; }
            65%{ top: 160px; height: 140px; }
            75%{ height: 120px; }
            100%{ top: 0; height: 140px; }
        }
        @-o-keyframes jump {
            0%{ top: 0; }
            65%{ top: 160px; height: 140px; }
            75%{ height: 120px; }
            100%{ top: 0; height: 140px; }
        }
        @keyframes jump {
            0%{ top: 0; }
            65%{ top: 160px; height: 140px; }
            75%{ height: 120px; }
            100%{ top: 0; height: 140px; }
        }
        @-webkit-keyframes shrink {
            0%{ width: 90px; height: 60px; }
            65%{ width: 10px; height: 5px; margin-left: -5px; background: rgba(20, 20,20, .3);
                -webkit-box-shadow: 0 0 25px 20px rgba(20, 20, 20, .3);
                -moz-box-shadow: 0 0 25px 20px rgba(20, 20, 20, .3);
                box-shadow: 0 0 25px 20px rgba(20, 20, 20, .3); }
            100%{ width: 90px; height: 60px; background: rgba(20, 20,20, .1);
                -webkit-box-shadow: 0 0 25px 20px rgba(20, 20, 20, .1);
                -moz-box-shadow: 0 0 25px 20px rgba(20, 20, 20, .1);
                box-shadow: 0 0 25px 20px rgba(20, 20, 20, .1); }
        }
    </style>
</head>
<body>
<div class="box">
    <div class="ball"></div>
    <div class="shadow"></div>
</div>
</body>
</html>

原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8366500.html

时间: 2024-10-31 02:18:31

CSS3实现带阴影的弹球的相关文章

CSS3实现带动画、阴影的表单提示特效

CSS3实现带动画.阴影的表单提示特效,Form表单提示效果,请不要使用IE浏览,否则你会错过很多精彩的效果,在火狐下你会看到,漂亮的带阴影的表单文本框,而且是圆角的,当鼠标点击表单框的时候出现动画的提示效果,相信你看了之后会喜欢的. <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>石家庄标准件</tit

JS框架_(JQuery.js)带阴影贴纸标签按钮

纯CSS带阴影贴纸标签按钮效果: <!doctype html> <html> <head> <meta charset="utf-8"> <title>CSS3带阴影贴纸标签按钮样式</title> <style> html { box-sizing: border-box; font: 18px PT Mono; background: antiquewhite; } *, *::before, *

CSS——小三角带边框带阴影

乍一看,很简单,做小三角,首先想到的是利用border的transparent特性,可以制作出小三角的效果.但是注意,这个小三角本身就是边框制作出来的.怎么能在小三角的外边再加一层小边框呢.那就必须再叠加一层一样的东西,让两者有1px的错位.问题就解决了.不想在页面添加多余的无意义的标签,还想实现这个效果.首先想到的就是用元素的伪类来实现. 首先想到的是给小三角加一个box-shadow属性,问题就可能很轻松的解决了,可是问题往往没有那么简单. box-shadow只加在border外边缘,跟我

用CSS画一个带阴影的三角形的示例代码

1. 思路 怎么用CSS3画一个带阴影的三角形呢 ? 有童鞋说, 这还不简单吗 网上有很多解决方案, 但其实大多都是实现不太完美的, 存在一些问题 假设我们做一个向下的三角形箭头 常见的方法大致有两种 通过边框控制, border-left和border-right设为透明, border-top设为预定的颜色即可 通过 transform 旋转盒子 方法一可以画三角形, 但是画阴影是很难做到的(如果做到的朋友, 欢迎给我留言) 2. 设计 2.1 边框法 html结构 ? 1 2 3 <bod

PIE使IE支持CSS3圆角盒阴影与渐变渲染

PIE使IE支持CSS3圆角盒阴影与渐变渲染 http://css3pie.com/download/

QT模态对话框用法(在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片——酷)

QT弹出模态对话框做法: 1.新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图: 2.然后在使用的时候: MyDialog dlg(this); dlg.exec(); 如果不加this,则会在任务管理器里面产生一个新的EXE. 3.如果对话框的标题是自定义,不想使用系统的标题,这时候需要在代码中加入: setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint ); setAttr

C++ GDI+ 带阴影的文字功能的实现

用GDI+的优秀图形输出功能可以非常方便的实现文字特效,其中一个带阴影的文字便是其中一例. 许多简单的文字特效只是简单的将文字用不同的颜色与不同的位置输出一次或多次,本文所讨论的阴影效果借助GDI+的反走样能力生成透明的阴影与半阴影. 这儿所述的方法先在绘图平面上绘制一个比预期小的文字,然后放大它. 由于代码注释很详细,直接上代码: ULONG_PTR g_gdiPlusToken = NULL; //GDI+ 初始化 void CMFCApplication1Dlg::OnBnClickedO

css3照片墙+曲线阴影

css3照片墙+曲线阴影 最近在学习jquery,晚上想复习下以前学过的知识,看到网上有关于css3照片墙的,感觉挺好玩的,就做了做.(以下图片均来自网络) 一.css3照片墙 html部分: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>css3照片墙</title> <link rel="stylesheet"

CSS3实现曲线阴影和翘边阴影

预备知识 DIV+CSS基础 圆角:border-radius 2D变幻:transform:skew && rotate 伪类::before 和 :after 代码 HTML结构代码很简单,CSS内含注释,图片小伙伴们自己替换哈! HTML <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>CSS3