查看: 4278|回复: 218

[日记] CSS小温泉

[复制链接]
发表于 2024-5-23 12:32 | 显示全部楼层 |阅读模式
本帖最后由 凡哥 于 2024-5-23 12:35 编辑

2024年5月23日 星期四

刚做的一个纯CSS动画。效果如下:

代码

<style> #outer { position: relative; margin: 20px auto; width: 150px; height: 150px; border-radius: 50%; border: 10px groove tan; border-color: seagreen lightgreen forestgreen; } #outer::before, #outer::after { position: absolute; content: ''; width: 100%; height: 100%; background: radial-gradient(silver, green, lightgreen, snow, red); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); animation: rot 8s linear infinite; } #outer::before { animation-delay: 0; } #outer::after { animation-delay: -1s; } @keyframes rot { to { transform: rotate(360deg); } } </style>   <div id="outer"></div>


原理:

id="outer" 的div元素,在CSS中定义了两个伪元素,伪元素着径向渐变背景色,切成菱形,做 rot 关键帧动画,第二个伪元素提前一秒运行动画。

评分

5

查看全部评分

点评
回复

使用道具

发表于 2024-5-23 15:52 | 显示全部楼层
本帖最后由 灵儿 于 2024-5-23 15:58 编辑

评分

2

查看全部评分

点评
回复

使用道具

发表于 2024-5-23 15:56 | 显示全部楼层
怎么回事,回复会改动主楼吗?
凡哥 2024-5-23 19:43
回复
是的。我不小心用了 id,HTML元素道理上 id 是唯一的,这回有了一对,一山不容二虎呀
灵儿回复凡哥 2024-5-23 19:54
回复
下午一改颜色,你主楼也改动了,我又改回来了
多一虎它有伴,哈哈哈
回复

使用道具

 楼主| 发表于 2024-5-23 20:09 | 显示全部楼层
灵儿 发表于 2024-5-23 15:56
怎么回事,回复会改动主楼吗?

老虎是特殊动物,它们喜独居,需要的时候才会在一起
点评
回复

使用道具

发表于 2024-5-23 21:53 | 显示全部楼层
这个小播是真漂亮啊。颜值极高。。
从色彩可见人。。。
点评
回复

使用道具

 楼主| 发表于 2024-5-23 22:16 | 显示全部楼层
花简静 发表于 2024-5-23 21:53
这个小播是真漂亮啊。颜值极高。。
从色彩可见人。。。

明天用它做个帖子 看看行不行
点评
回复

使用道具

发表于 2024-5-23 22:31 | 显示全部楼层
凡哥 发表于 2024-5-23 22:16
明天用它做个帖子 看看行不行

这是布置作业给我呢……啊,我小白不行……
点评
回复

使用道具

 楼主| 发表于 2024-5-23 22:34 | 显示全部楼层
花简静 发表于 2024-5-23 22:31
这是布置作业给我呢……啊,我小白不行……

半成品都出来了
点评
回复

使用道具

 楼主| 发表于 2024-5-24 07:59 | 显示全部楼层
2024年5月24日 星期五
《半妖倾城》代码:
  1. <style>
  2.     #papa {
  3.         position: relative;
  4.         margin: 20px 0 20px calc(50% - 730px);
  5.         width: 1280px;
  6.         height: 720px;
  7.         background: url('https://media.9game.cn/gamebase/2021/4/23/226964855.jpeg') no-repeat center/cover;
  8.         box-shadow: 2px 2px 6px #333;
  9.         overflow: hidden;
  10.         z-index: 1;
  11.         --state: running;
  12.     }
  13.     .vid {
  14.         position: absolute;
  15.         bottom: 0;
  16.         width: 100%;
  17.         height: calc(100% + 65px);
  18.         object-fit: cover;
  19.         mix-blend-mode: screen;
  20.     }
  21.     .vid:nth-of-type(2) { opacity: .5; }
  22.     .player {
  23.         position: absolute;
  24.         left: 375px;
  25.         top: 400px;
  26.         width: 120px;
  27.         height: 120px;
  28.         border-radius: 50%;
  29.         border: 6px groove tan;
  30.         border-color: black white black;
  31.         opacity: .5;
  32.         transition: 1s;
  33.         cursor: pointer;
  34.     }
  35.     .player:hover {
  36.         filter: hue-rotate(100deg) drop-shadow(0 0 30px red);
  37.         border-color: purple red plum;
  38.     }
  39.     .player::before, .player::after {
  40.         position: absolute;
  41.         content: '';
  42.         width: 100%;
  43.         height: 100%;
  44.         background: radial-gradient(snow, purple, pink, lightblue, transparent);
  45.         clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  46.         animation: rot 8s linear infinite var(--state);
  47.     }
  48.     .player::after { animation-delay: -1s; }
  49.     .player:nth-of-type(2) { left: 750px; top: 470px; }
  50.     @keyframes rot { to { transform: rotate(360deg); } }
  51. </style>

  52. <div id="papa">
  53.     <audio id="aud" src="https://music.163.com/song/media/outer/url?id=430787639" autoplay loop></audio>
  54.     <video class="vid" src="https://img.tukuppt.com/video_show/53950850/05/48/30/649e911ea2def.mp4" loop muted></video>
  55.     <video class="vid" src="https://img.tukuppt.com/video_show/2475824/00/02/06/5b50065e45b04.mp4" loop muted></video>
  56.     <div class="player" title="播放/暂停"></div>
  57.     <div class="player" title="播放/暂停"></div>
  58. </div>

  59. <script>
  60.     var players = document.querySelectorAll('.player'),
  61.         vids = document.querySelectorAll('.vid');
  62.     aud.onplaying = aud.onpause = () => {
  63.         papa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
  64.         vids.forEach(vid => aud.paused ? vid.pause() : vid.play());
  65.     };
  66.     players.forEach(player => player.onclick = () => aud.paused ? aud.play() : aud.pause());
  67. </script>
复制代码

评分

2

查看全部评分

点评
回复

使用道具

发表于 2024-5-24 21:27 | 显示全部楼层
凡哥 发表于 2024-5-23 22:34
半成品都出来了

原来那个时候已有半成品了
小图标变贴子,老师这出贴速度够快的。。
点评
回复

使用道具

您需要登录后才可以回帖 登录 | 中文注册

本版积分规则

手机版|千山论坛 ( 冀ICP备2024055714号 )

GMT+8, 2025-9-18 23:13

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表