CSS灯光效果,背景黑金效果

这篇具有很好参考价值的文章主要介绍了CSS灯光效果,背景黑金效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先看效果
CSS灯光效果,背景黑金效果
再看代码:文章来源地址https://www.toymoban.com/news/detail-480055.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>灯光效果</title>
  <link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@700&amp;display=swap" type="text/css" rel="Stylesheets">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <style>
    :root {
      --glitter: url("https://assets.codepen.io/13471/silver-glitter-background.png");
      --ratio-x: .5;
      --ratio-y: .75;
      --from-center: .5;
    }

    main {
      --bgoffsetx: calc( 2.9px * var(--ratio-x));
      --bgoffsety: calc( 4.3px * var(--ratio-y));
      --pointerx: calc( 100% * var(--ratio-x));
      --pointery: calc( 100% * var(--ratio-y));
      --h: calc( 360deg * var( --from-center ) );
      --s: calc( 90% * var( --from-center ) );
      background: linear-gradient(135deg, hsl(28deg, var(--s), 15%), hsl(198deg, var(--s), 15%)), var(--glitter), var(--glitter), radial-gradient(farthest-corner circle at var(--pointerx) var(--pointery), white 20px, rgba(237, 222, 222, 0.38) 150px, black 65%);
      background-position: calc( 70% + var(--bgoffsetx) ) calc( 70% + var(--bgoffsety) ), calc( 30% - var(--bgoffsetx) ) calc( 30% - var(--bgoffsety) );
      background-size: cover, 560px auto, 400px auto, cover;
      background-blend-mode: overlay, multiply, color, overlay;
      transition: opacity 4s ease-out;
    }

    main.loading {
      opacity: 0;
    }

    main {
      image-rendering: optimizeQuality;
      transform: translate3d(0, 0, 0.01px);
    }

    main * {
      pointer-events: none;
      text-anchor: middle;
    }

    main svg {
      mix-blend-mode: color-dodge;
      fill: #908190;
      opacity: calc( 1.5 - var(--from-center) );
      filter: drop-shadow(0 0 30px black) drop-shadow(0 0 10px black) brightness(1.3);
    }

    body {
      color: black;
      background: black;
      font-family: "Cinzel", sans-serif;
    }

    html, body, main {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      height: 100%;
      width: 100%;
      display: grid;
      place-items: center;
      grid-row: 1;
    }

    img {
      position: absolute;
      width: 1px;
      height: 1px;
      opacity: 0;
    }

    .social-icon {
      stroke-width: 1.25;
      stroke: cyan;
      fill: none;
      stroke-linecap: round;
      stroke-linejoin: round;
      position: absolute;
      bottom: 10px;
      right: 10px;
      width: 24px;
      height: 24px;
      z-index: 10;
      -webkit-animation: iconsLoad 10s ease both 1s;
      animation: iconsLoad 10s ease both 1s;
    }

    .social-icon.twitter {
      right: 40px;
      -webkit-animation-delay: 0s;
      animation-delay: 0s;
    }

    @-webkit-keyframes iconsLoad {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    @keyframes iconsLoad {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }
  </style>
</head>
<body>
<main id=app class=loading>
  <svg viewBox="-50 0 100 20">
    <text x="0" y="15">Illuminate</text>
  </svg>
</main>
<img src="https://assets.codepen.io/13471/silver-glitter-background.png" loading=lazy>

<a class="social-icon github" href="https://blog.csdn.net/qq_35241329?type=blog">
  <svg viewBox="0 0 24 24">
    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
    <path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"></path>
  </svg>
</a>
</body>
<script>

  // 👆鼠标移动跟随代码
  $("main").on("pointermove", (e) => {
    interacted = true;
    const { x, y } = e.originalEvent;
    const BOX = e.target.getBoundingClientRect();
    const POINT = { x: x - BOX.x, y: y - BOX.y };
    const RATIO = { x: POINT.x / BOX.width, y: POINT.y / BOX.height };
    const CENTER = fromCenter( RATIO );
    // 设置css中引用的一些css变量
    e.target.style.setProperty( "--ratio-x", RATIO.x );
    e.target.style.setProperty( "--ratio-y", RATIO.y );
    e.target.style.setProperty( "--from-center", CENTER );
  });

  // 数字 🤷‍♀️
  function fromCenter({ x, y }) {
    return Math.min(Math.max( 0, Math.sqrt( (y - .5) * (y - .5) + (x  - .5) * (x - .5) ) / .5 ), 1 );
  }
  let interacted = false;
  $("img").on("load", () => {
    // ⏰ 惰性负载触发不透明度
    $("main").removeClass("loading");

    // ✨ 小介绍演示动画
    $({foo:0}).animate({foo:(Math.PI*3)}, {
      duration: 8000,
      easing: "swing",
      step: function(val) {
        if ( !interacted ) {
          document.querySelector("#app").style.setProperty(
                  "--ratio-x", (Math.cos(val) + 1.5) / 3
          );
          document.querySelector("#app").style.setProperty(
                  "--ratio-y", (Math.sin(val) + 2) / 4
          );
        }
      }
    });
  });
</script>
</html>

到了这里,关于CSS灯光效果,背景黑金效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS中如何实现元素的渐变背景(Gradient Background)效果?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月10日
    浏览(37)
  • 通过使用html的css样式来达到给背景色添加渐变色的效果

    这里我直接添加了两个div,并且给两个div添加了基本的css样式,有问题请私信          在演示开始之前我们先来认识一下实现渐变效果的一个属性  background: linear-gradient 这个是我们设置背景渐变色的关键属性,然后我们开始演示(这里我们通过修改第二个div)          

    2024年02月08日
    浏览(41)
  • CSS的background 背景图片自动适应元素大小,实现img的默认效果 background-size:100% 100%;

    CSS的background 背景图片自动适应元素大小,实现img的默认效果 background-size:100% 100%; 关键是 background-size:100% 100%; background-size:100% 100%; background-size:contain; 保持纵横比, 容器部分可能空白 background-size:cover; 保持纵横比, 图像可能指显示部分 background-size:100% 100%; 不保持纵横比, 背景图像

    2024年02月20日
    浏览(31)
  • WEB 3D技术 three.js 3D贺卡(3) 点光源灯光动画效果

    经过 上文 WEB 3D技术 three.js 3D贺卡(2) 加入天空与水面效果 我们将水面 和 天空的效果搭建了一下 那么 我们将四周 点光源的效果做一下 首先 我们将 renderer.toneMappingExposure 的值 改为 0.1 让效果看着明显一点 这样 整个界面就会暗下来 然后 我们在任意位置 加入代码 创建一个点

    2024年01月19日
    浏览(37)
  • AIGC | 数据驱动的室内场景智能灯光设计系统,效果媲美人类设计师

    AIGC(人工智能创作内容)作为内容生产新范式,能够把创造和知识工作的边际成本降至零,以产生巨大的劳动生产率和经济价值。而元宇宙是一个需要海量内容数据的虚拟世界,也是AIGC的主战场。渲染引擎作为元宇宙最重要的基础设施,与AI关联的更多的是三维内容自动绘制

    2024年02月11日
    浏览(38)
  • 文字效果 用背景渐变实现 波浪背景文字

    1. 实现波浪背景 原理:透明到纯色的径向渐变,然后复制该渐变背景,最后加上背景水平方向移动的无限循环动画 2. 文字波浪背景 将该渐变应用在文本标签上,并添加一下css属性 最后,在做一些适当调整,比如弧度衔接处 动画时间等 。搞定 3. 总结 波浪的本质上是一个曲

    2024年02月08日
    浏览(42)
  • 【CSS】CSS 背景设置 ② ( 背景位置 | 背景位置-方位值设置 )

    如果 盒子的大小 大于 背景图片的大小 , 默认的 图片 位置是 左上角 ; 设置背景位置的 CSS 语法如下 : background-position 属性值 可以是 length 长度 , 也可以是 position 方位 ; length 长度 : 百分数 : 如 50% ; 浮点数 + 单位 : 如 : 150.5px ; position 方位 : 设置的是 x 坐标的方位 和 y 坐标的方

    2024年02月07日
    浏览(33)
  • 【CSS】CSS 背景设置 ⑨ ( 背景半透明设置 )

    背景半透明设置 可以 使用 rgba 颜色值设置半透明背景 ; 下面的 CSS 样式中 , 就是 设置黑色背景 , 透明度为 20% ; 颜色的透明度 alpha 取值范围是 0 ~ 1 之间 , 在使用时 , 可以 省略 0.x 前面的 0 , 直接使用 .x 作为透明度值 , 如 : 背景半透明 指的是 盒子的背景设置为半透明 , 可以看

    2024年02月01日
    浏览(36)
  • JavaScript实现背景图像切换3D动画效果

    🐱 个人主页: 不叫猫先生 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫优质专栏:vue3从入门到精通、TypeScript从入门到实践 📢 资料领取:前端进阶资料以及文中源

    2023年04月20日
    浏览(41)
  • 创建多图层叠加效果的背景与人物图像

    引言: 在现代应用程序开发中,图形资源的使用是非常常见的,特别是在用户界面设计中。通过使用TImageList和TGlyph组件的组合,我们可以实现令人印象深刻的多图层叠加效果。本文将介绍如何使用这两个组件来创建背景和人物的多图层叠加效果,为您的应用程序增添视觉吸

    2024年02月13日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包