马黑黑 发表于 2023-5-5 19:40

房前

<css-doodle id="mplayer">
:doodle {
    margin: -80px 0 0 calc(50% - 593px);
    @grid: 26x1 / 1024px 640px;
    background: #eee url('https://638183.freep.cn/638183/t23/1/r3.jpg') no-repeat center / cover;
    box-shadow: 0 0 8px #000;
    pointer-events: none;
    position: relative;
    -webkit-box-reflect: below 0px linear-gradient(transparent,transparent 85%,rgba(0,0,0,.8));
    --state: paused;
}

--colors: (#75b9be,#696d7d,#d72638,#f49d37,#140f2d);
--color-1: @p(--colors);
--color-2: @P;
--transform: translateY(@r(2, 90)%);
--size: 30px;
transform: var(--transform) rotate(0deg);
transform-origin: 50% 100%;

@random(0.5) { animation: swing @r(3, 5)s ease infinite alternate both; }
@random(0.5) { animation: swingLeft @r(3, 5)s ease infinite alternate both; }

@keyframes swing {
    0% { transform: var(--transform) rotate(0deg); }
    100% { transform: var(--transform) rotate(1deg); }
}

@keyframes swingLeft {
    0% { transform: var(--transform) rotate(0deg); }
    100% { transform: var(--transform) rotate(-1deg); }
}

@keyframes rot {
        0% { transform: var(--transform) rotate(0deg); }
        100% { transform: var(--transform) rotate(360deg); }
}

::after {
    content: "";
    position: absolute;
    top: -15px;
    left: calc(50% - var(--size) / 2);
    width: var(--size);
    height: var(--size);
    background: @p(
      radial-gradient(@stripe(@m4(var(--color-@pn(1, 2))), transparent 29.7%)),
      @doodle(
      @grid: 1 / 100%;
      ::after {
          content: "@p(✿,❁,❀,❃,❊)";
          position: absolute;
          top: -4px;
          left: 50%;
          transform: translate3d(-50%, 0, 0);
          font-size: 40px;
          color: transparent;
          background-image: radial-gradient(var(--color-1) 20%, var(--color-2) calc(20% + 0.5px));
          -webkit-background-clip: text;
      }
      ),
      @doodle(
      @grid: 1 / 100%;
      ::after {
          content: "@p(&#127800;,&#127804;)";
          position: absolute;
          top: 0;
          left: 50%;
          transform: translate3d(-50%, 0, 0);
          font-size: 28px;
          color: transparent;
          background-image: radial-gradient(var(--color-1) 20%, var(--color-2) calc(20% + 0.5px));
          -webkit-background-clip: text;
      }
      )
    );
}

background: @doodle(
    @grid: 1x40;
    background: linear-gradient(90deg, @stripe(transparent, @p(--colors) 2px, transparent));

    @nth(1, 2) {
      ::before { display: none; }
    }

    @random(.5) {
      ::before {
      content: "";
      @place: 10px center;
      @size: 50% 100%;
      border-radius: 0 100% 0 100%;
      background: @p(--colors);
      -webkit-box-reflect: @p(right, initial);
      }
    }
);

@at(@X, @Y) {
        @size: 100px;
        @shape: clover 4;
        @place: 50% 10%;
        background: crimson;
        transform-origin: 50% 50%;
        animation: rot 6s infinite linear var(--state);
        ::before { display: none; }
        ::after { display: none; }
        cursor: pointer;
        pointer-events: auto;
       
}
</css-doodle>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1436678253" autoplay loop></audio>

<script>
(function() {
        let script = document.createElement('script');
        script.src = 'https://unpkg.com/css-doodle@0.34.9/css-doodle.min.js';
        document.head.appendChild(script);
        let mState = () => mplayer.style.setProperty('--state', aud.paused ? 'paused' : 'running');
        aud.addEventListener('play', mState, false);
        aud.addEventListener('pause', mState, false);
        mplayer.onclick = () => aud.paused ? aud.play() : aud.pause();
})();
</script>

马黑黑 发表于 2023-5-5 19:44

摇曳的树丛来自大佬的作品,这是源码:
<css-doodle>
:doodle {
    flex: none;
    @grid: 25x1;
    @size: 1000px 800px;
    overflow: hidden;
}

--colors: (#75b9be,#696d7d,#d72638,#f49d37,#140f2d);
--color-1: @p(--colors);
--color-2: @P;
--transform: translateY(@r(2, 90)%);
--size: 30px;
transform: var(--transform) rotate(0deg);
transform-origin: 50% 100%;

@random(0.5) {
    animation: swing @r(3, 5)s ease infinite alternate both;
}
@random(0.5) {
    animation: swingLeft @r(3, 5)s ease infinite alternate both;
}

@keyframes swing {
    0% {
      transform: var(--transform) rotate(0deg);
    }
    100% {
      transform: var(--transform) rotate(1deg);
    }
}

@keyframes swingLeft {
    0% {
      transform: var(--transform) rotate(0deg);
    }
    100% {
      transform: var(--transform) rotate(-1deg);
    }
}

::after {
    content: "";
    position: absolute;
    top: -15px;
    left: calc(50% - var(--size) / 2);
    width: var(--size);
    height: var(--size);
    background: @p(
      radial-gradient(@stripe(@m4(var(--color-@pn(1, 2))), transparent 29.7%)),
      @doodle(
      @grid: 1 / 100%;
      ::after {
          content: "@p(✿,❁,❀,❃,❊)";
          position: absolute;
          top: -4px;
          left: 50%;
          transform: translate3d(-50%, 0, 0);
          font-size: 40px;
          color: transparent;
          background-image: radial-gradient(var(--color-1) 20%, var(--color-2) calc(20% + 0.5px));
          -webkit-background-clip: text;
      }
      ),
      @doodle(
      @grid: 1 / 100%;
      ::after {
          content: "@p(&#127800;,&#127804;)";
          position: absolute;
          top: 0;
          left: 50%;
          transform: translate3d(-50%, 0, 0);
          font-size: 28px;
          color: transparent;
          background-image: radial-gradient(var(--color-1) 20%, var(--color-2) calc(20% + 0.5px));
          -webkit-background-clip: text;
      }
      )
    );
}

background: @doodle(
    @grid: 1x40;
    background: linear-gradient(90deg, @stripe(transparent, @p(--colors) 2px, transparent));

    @nth(1, 2) {
      ::before { display: none; }
    }

    @random(.5) {
      ::before {
      content: "";
      @place: 10px center;
      @size: 50% 100%;
      border-radius: 0 100% 0 100%;
      background: @p(--colors);
      -webkit-box-reflect: @p(right, initial);
      }
    }
);
</css-doodle>

马黑黑 发表于 2023-5-5 19:48

我在这个源码基础上:

一、给帖子加个背景图并给帖子整体做个小倒影;
二、抽出最后一个单元格做深红色四叶草,通过它控制帖子的背景音乐。

红影 发表于 2023-5-5 20:10

原来那么多树丛都是代码做的,厉害了{:4_187:}

千羽 发表于 2023-5-5 20:18

这房前摇曳的花儿挺美的,播放器玲珑精致,喜欢{:4_187:}

红影 发表于 2023-5-5 20:20

颜色、高度、花朵等都是随机的,每次刷新都不一样呢。

醉美水芙蓉 发表于 2023-5-5 20:30

马黑黑 发表于 2023-5-5 20:38

醉美水芙蓉 发表于 2023-5-5 20:30
房前花挺美的,每次刷新都不一样!

随机的

马黑黑 发表于 2023-5-5 20:44

红影 发表于 2023-5-5 20:10
原来那么多树丛都是代码做的,厉害了

这组代码很巧妙的。它实际上是在css-doodle图案里又用css-doodle做单元格的背景啥的,还配合伪元素、倒影等技术实现了诸多细节。

马黑黑 发表于 2023-5-5 20:45

红影 发表于 2023-5-5 20:20
颜色、高度、花朵等都是随机的,每次刷新都不一样呢。

对,随机因素大量使用

梦缘 发表于 2023-5-5 20:45

好漂亮的屋后,欣赏问好!{:4_187:}

马黑黑 发表于 2023-5-5 20:45

千羽 发表于 2023-5-5 20:18
这房前摇曳的花儿挺美的,播放器玲珑精致,喜欢

{:4_180:}

马黑黑 发表于 2023-5-5 20:46

梦缘 发表于 2023-5-5 20:45
好漂亮的屋后,欣赏问好!

是房前,屋后在另外一个帖子

樵歌 发表于 2023-5-5 21:04

真能呀,居然用代码就实现那小苗苗的生长。很阳光很儿童的。估计小辣椒和清舟最喜欢了{:4_189:}

大猫咪 发表于 2023-5-5 21:06

春天了吧   色彩都这么明媚,艳丽   听音看图陶醉鸟。。

{:4_204:}{:4_199:}

马黑黑 发表于 2023-5-5 21:12

樵歌 发表于 2023-5-5 21:04
真能呀,居然用代码就实现那小苗苗的生长。很阳光很儿童的。估计小辣椒和清舟最喜欢了

晚上嚎

马黑黑 发表于 2023-5-5 21:12

大猫咪 发表于 2023-5-5 21:06
春天了吧   色彩都这么明媚,艳丽   听音看图陶醉鸟。。

初夏

樵歌 发表于 2023-5-5 21:27

马黑黑 发表于 2023-5-5 21:12
晚上嚎

同嚎同嚎{:4_189:}

红影 发表于 2023-5-5 21:34

马黑黑 发表于 2023-5-5 20:44
这组代码很巧妙的。它实际上是在css-doodle图案里又用css-doodle做单元格的背景啥的,还配合伪元素、倒影 ...

这个有点太复杂了点,看了会,有点蒙圈{:4_173:}

马黑黑 发表于 2023-5-5 21:34

红影 发表于 2023-5-5 21:34
这个有点太复杂了点,看了会,有点蒙圈

逻辑理清一下就好理解了
页: [1] 2 3 4 5
查看完整版本: 房前