ホームページ  >  記事  >  ウェブフロントエンド  >  CSSで波線と立方体を実装する(コード付き)

CSSで波線と立方体を実装する(コード付き)

云罗郡主
云罗郡主転載
2018-10-12 14:12:433604ブラウズ

この記事の内容は CSS で波線と立方体を実現する方法です。必要な方は参考にしていただければ幸いです。

最近のプロジェクトでは、線形グラデーションを使用して波線効果を描画できます。つまり、円を描画し、その円の一部を背景色で覆います。 ##css3 属性パースペクティブを使用して回転を追加して立方体を実現する 1.波線を実装するcss

    #html
  • <p class="card-list">
        <p class="wave-container">
            <p class="wave"></p>
            <!-- 实现波浪线的p -->
            <p class="wave-left-decorate"></p>
            <p class="wave-right-decorate"></p>
        </p>
    </p>
    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;
    }
    レンダリング
2. キューブ

CSSで波線と立方体を実装する(コード付き)

    htmlファイル
  • #を実装します。

    ##

    <p class="content">
        <p class="leftContent">
            <p class="leftContentItem">
                <p 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=""/>
                </p>
            </p>
        </p>
    </p>

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);
        }
    }

レンダリング
  • CSSで波線と立方体を実装する(コード付き)
    #主なことは、被写界深度の視点を設定し、各サーフェスを回転および移動することです

  • ##この記事の内容は CSS に関するものです波線と立方体の実現 (コード付き) には、特定の参考値があります。

    CSS3 ビデオ チュートリアル
を参照してください。

以上がCSSで波線と立方体を実装する(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。