前端小实验(1)----边框发光效果

3,022 阅读1分钟

最近浏览b站,偶然发现一个有趣的前端小实验-----边框发光效果。 原视频地址,但是没有教学视频,特此研究一下。

制作一个发光的边框

先制作一个盒子,利用盒子的伪元素before和after制作发光效果。

  1. 创建伪元素before和after,并利用定位调整到盒子的下面。
  2. 将盒子背景和body背景调暗,此时我们获得的一个白色的边框
  3. 一个伪元素负责产生白色边框,另一个伪元素添加滤镜模糊化。
  4. 把文字的颜色改成白色,给两个伪元素添加三色颜色渐变,中间色与背景色相同,随着颜色渐变中间部分隐入背景,形成边缘发光效果
    代码如下:
<!DOCTYPE html>
<html lang="en">
 <head>
   <meta charset="UTF-8" />
   <title>Title</title>
   <style>
     body {
       margin: 0;
       padding: 0;

       display: flex;
       justify-content: center;
       align-items: center;
       min-height: 100vh;
       background: #060c21;
       font-family: 'Poppins', sans-serif;
     }
     .box {
       position: relative;
       width: 300px;
       height: 400px;
       display: flex;
       justify-content: center;
       align-items: center;
       background: #060c21;
     }
     /*一个溢出的盒子作为边框,添加背景后形成光源效果*/
     .box::before {
       content: '';
       position: absolute;
       top: -2px;
       left: -2px;
       right: -2px;
       bottom: -2px;
       background: #ffffff;
       z-index: -1; /*元素堆叠顺序*/
     }
     /*另一个溢出的盒子,模糊形成光晕效果*/
     .box::after {
       content: '';
       position: absolute;
       top: -2px;
       left: -2px;
       right: -2px;
       bottom: -2px;
       background: #ffffff;
       z-index: -2;
       /*添加模糊滤镜*/
       filter: blur(40px);
     }
     .box::before,
     .box::after {
       /*三色渐变,中间为背景色,融入背景*/
       background: linear-gradient(235deg, #89ff00, #060c21, #00bcd4);
     }
     .content {
       padding: 20px;
       box-sizing: border-box;
       color: #fff;
     }
   </style>
 </head>
 <body>
   <div class="box">
     <div class="content">
       <h1>黑洞</h1>
       <p>
         黑洞是现代广义相对论中,宇宙空间内存在的一种天体。黑洞的引力很大,使得视界内的逃逸速度大于光速。 “黑洞是时空曲率大到光都无法从其事件视界逃脱的天体”。 如果将大量物质集中于空间一点,其周围会产生奇异的现象,即在质点周围存在一个界面——“视界”一旦进入这个界面, 即使光也无法逃脱。这种“不可思议的天体”被美国物理学家约翰·阿奇博尔德·惠勒命名为“黑洞”。
       </p>
     </div>
   </div>
 </body>
</html>