css实现波浪线及立方体

作者: 560b7bb7b879 | 来源:发表于2018-10-21 21:23 被阅读21次

这里是利用linear-gradient来实现,也就是画圆,然后利用底色来遮住部分圆;利用css3属性perspective加旋转实现立方体

1.css实现波浪线

html

<div class="card-list">
    <div class="wave-container">
        <div class="wave"></div>
        <!-- 实现波浪线的div -->
        <div class="wave-left-decorate"></div>
        <div class="wave-right-decorate"></div>
    </div>
</div>

css

.card-list{
    display: flex;
    padding: 20px;
    width: 100%;
}
.wave-container{
    position: relative;
    margin-right: 28px;
    width: 20%;
}
.wave{
    width: 100%;
    height: 90px;
    background: linear-gradient(to right, rgb(85, 181, 255), rgb(207, 224, 232));
}
/* 波浪线 */
.wave-left-decorate{
    position: absolute;
    top: -4px;
    width: 90px;
    height: 8px;
    transform-origin: center left;
    transform: rotate(90deg);
    background: radial-gradient(circle, #fff 2px, #fff, transparent 3px, transparent 4px, transparent 4px, transparent);
    background-size: 8px 8px;
}

效果图

image.png

2.实现立方体

html文件

<div class="content">
    <div class="leftContent">
        <div class="leftContentItem">
            <div class="itemImg">
                <img class="leftContentImg" src="images/rabbit.jpg" alt=""/>
                <img class="leftContentImg" src="images/rabbit.jpg" alt=""/>
                <img class="leftContentImg" src="images/rabbit.jpg" alt=""/>
                <img class="leftContentImg" src="images/rabbit.jpg" alt=""/>
                <img class="leftContentImg" src="images/rabbit.jpg" alt=""/>
                <img class="leftContentImg" src="images/rabbit.jpg" alt=""/>
            </div>
        </div>
    </div>

css文件

.content{
    position: relative;
    display: flex;
    margin: 0 auto;
    padding-top: 50px;
    width: 1200px;
    height: 380px;
    background: url(../images/bg2.jpg) no-repeat;
    background-size: 1200px 100%;
}
.content .leftContent{
    margin-right: 25px;
    padding-left: 45px;
    padding-bottom: 30px;
    box-sizing: border-box;
}
/* 旋转的图片 */
.content .leftContent .leftContentItem{
    width: 350px;
    height: 350px;
    /* 设置景深 */
    perspective: 1000px;
    /* 设置背景颜色在中间为椭圆形 */
    /*background: radial-gradient(ellipse at center, #430d6d 0%, #000 100%);*/
}
.leftContent .leftContentItem .itemImg{
    position: absolute;
    left: 20%;
    top: 20%;
    width: 200px;
    height: 200px;
    /* 实现3D呈现 */
    transform-style: preserve-3d;
    transform: rotateX(-20deg) rotateY(-20deg);
    -webkit-animation: 6s imgRotate linear infinite;
    -o-animation: 6s imgRotate linear infinite;
    animation: 6s imgRotate linear infinite;
}
.leftContent .leftContentItem .itemImg *{
    position: absolute;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 25px rgba(0, 128, 0, .4);
}
.leftContentItem .itemImg .leftContentImg{
    position: absolute;
    width: 100%;
    height: 100%;
}
/* 分别对各个面进行旋转、平移操作 */
.leftContentItem .itemImg .leftContentImg:nth-child(1){
    transform: translateZ(100px);
}
.leftContentItem .itemImg .leftContentImg:nth-child(2){
    transform: rotateX(180deg) translateZ(100px);
}
.leftContentItem .itemImg .leftContentImg:nth-child(3){
    transform: rotateY(-90deg) translateZ(100px);
}
.leftContentItem .itemImg .leftContentImg:nth-child(4){
    transform: rotateY(90deg) translateZ(100px);
}
.leftContentItem .itemImg .leftContentImg:nth-child(5){
    transform: rotateX(90deg) translateZ(100px);
}
.leftContentItem .itemImg .leftContentImg:nth-child(6){
    transform: rotateX(-90deg) translateZ(100px);
}
@-webkit-keyframes imgRotate {
    from{
        transform: translateZ(-100px) rotateX(0) rotateY(0);
    }
    to{
        transform: translateZ(-100px) rotateX(360deg) rotateY(360deg);
    }
}

效果图

image.png

主要就是设置景深perspective,然后对每个面旋转、平移

这里推荐一下我的前端学习交流群:784783012,里面都是学习前端的,如果你想制作酷炫的网页,想学习编程。自己整理了一份2018最全面前端学习资料,从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴,有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。

相关文章

  • css实现波浪线及立方体

    这里是利用linear-gradient来实现,也就是画圆,然后利用底色来遮住部分圆;利用css3属性perspe...

  • CSS3实现3D立方体

    利用CSS3 animation及transform实现一个404立方体盒子点击查看效果

  • CSS奇技淫巧之实现波浪效果

    一直以来,使用纯 CSS 实现波浪效果都是十分困难的。 因为实现波浪的曲线需要借助贝塞尔曲线。而使用纯 CSS 的...

  • 前端-纯CSS实现波浪效果!

    一直以来,使用纯 CSS 实现波浪效果都是十分困难 因为实现波浪的曲线需要借助贝塞尔曲线。 而使用纯 CSS 的方...

  • 波浪线的实现

    一、显示效果 二、原理 实现原理主要是通过绘制出一条正弦曲线和一条余弦曲线,在两条曲线上下方添加不同的背景色,让曲...

  • 纯css3实现旋转3D立方体骰子

    纯css3实现旋转3D立方体骰子(自旋转型) 主要运用css3的transform,rotate,translat...

  • 4.CSS3 | 制作文字波浪线效果

    做项目活动的过程中,文字下方有个波浪线,寻思着,能不能用css来实现,减少资源,遂参考一些资料,嘿,实现了。所以,...

  • css实现波浪进度图

    发现了一个有意思的css样式,用css实现波浪进度图 原理 利用两个矩形重叠,设置它们的边框 border-rad...

  • 阅读张旭鑫博客笔记——css篇

    目录 css实现抛物线 1. css实现抛物线 快速生成贝塞尔曲线参数 http://cubic-bezier.c...

  • 用css3D做出简单旋转立方体

    想要做出一个会旋转的立方体,首先第一步,将立方体的6个面画出来。 html部分: css部分及效果图: 之后将上下...

网友评论

    本文标题:css实现波浪线及立方体

    本文链接:https://www.haomeiwen.com/subject/rpeizftx.html