带你实现一个github注册页面的星空顶

带你实现一个github注册页面的星空顶

github的注册页面可以说是非常的好看,如果没有看过的可以看下面的图片:

那么要如何实现下面的这个效果呢?

首先我们研究一下他的这个官网

首先我看到的后面的这个背景,是不是一个纯色的背景呢?

于是开始研究。发现他后面确实是一个纯黑色的背景

当我们关掉后就是这个样子的

之后我们来研究他的星空顶是如何实现的?

我们可以看到有很多的signup-stars的div

并且我发现他的尺寸是时刻在动的。

所以说,他应该实现的方法就是在5个div中去随机放大几个小图片。

为了验证上面的猜想。我去看了看css请求

发现他一共请求了这几个css

我在signup里面发现了:

css 复制代码
.signup-stars:nth-child(1) {
   background-position: 10% 90%;
   animation-delay: 0s
}
​
.signup-stars:nth-child(2) {
   background-position: 20% 50%;
   background-size: 270px 500px;
   animation-delay: .3s
}
​
.signup-stars:nth-child(3) {
   background-position: 40% -80%;
   animation-delay: 1.2s
}
​
.signup-stars:nth-child(4) {
   background-position: -20% -30%;
   transform: rotate(60deg);
   animation-delay: 2.5s
}
​
.signup-stars:nth-child(5) {
   background-image: radial-gradient(2px 2px at 10px 100px, #eee, rgba(0, 0, 0, 0)), radial-gradient(2px 2px at 20px 10px, #fff, rgba(0, 0, 0, 0)), radial-gradient(3px 4px at 150px 40px, #ddd, rgba(0, 0, 0, 0));
   background-position: 80% 30%;
   animation-delay: 4s
}
​
.signup-stars:nth-child(6) {
   background-position: 50% 20%;
   animation-delay: 6s
}

这样的代码

这里的 animation-delay属性。

指定从应用动画到元素开始执行动画之前等待的时间量。动画可以稍后开始、立即从开头开始或立即开始并在动画中途播放。

感兴趣的可以看这个

animation-delay - CSS:层叠样式表 | MDN (mozilla.org)

除此之外,我还看到了他发送了一个svg的图片请求

同时我们找到了他是怎么插入这个svg的

css 复制代码
<img src="./hero-glow.svg" alt="Glowing universe"
  class="js-warp-hide position-absolute overflow-hidden events-none"
  style="top: 50%; left: 50%; width: 200%; transform: translate(-50%, -50%);">

我们也照猫画虎。就完成了一个这样的页面

经过不断的调试。

我写出了一个和github差不多的效果:

xml 复制代码
<!DOCTYPE html>
<html lang="en" class="height-full" data-a11y-animated-images="system" data-a11y-link-underlines="true">
<head>
  <meta charset="utf-8">
  <link media="all" rel="stylesheet"
    href="https://github.githubassets.com/assets/primer-44fa1513ddd0.css" />
  <link media="all" rel="stylesheet"
    href="https://github.githubassets.com/assets/site-3711aefdcd99.css" />
    <link media="all" rel="stylesheet"
    href="https://github.githubassets.com/assets/signup-489cd45d1285.css" />
    <style>
      *{
        margin: 0;
        padding: 0;
      }
    </style>
</head>
<body class="height-full d-flex"
  style="word-wrap: break-word;">
  <div class="js-warp-hide bg-gray-dark-mktg d-flex flex-auto flex-column overflow-hidden position-relative">
    <div class="signup-space">
      <div class="signup-stars"></div>
      <div class="signup-stars"></div>
      <div class="signup-stars"></div>
      <div class="signup-stars"></div>
      <div class="signup-stars"></div>
      <div class="signup-stars"></div>
    </div>
​
    <img src="./hero-glow.svg" alt="Glowing universe"
      class="js-warp-hide position-absolute overflow-hidden events-none"
      style="top: 50%; left: 50%; width: 200%; transform: translate(-50%, -50%);">
  </div>
</body>
</html>

这里面的css都是引用的github的css

经过测试这几个就是最为精简的。我们来看我们的这个的效果:

相关推荐
IT_陈寒8 分钟前
React useEffect里面写异步,我的状态怎么老丢?
前端·人工智能·后端
AI视觉网奇26 分钟前
BambuStudio 自定义加载页面
服务器·前端·javascript
橙子家31 分钟前
Extension storage、Interest groups 和 Shared storage 简介-浏览器缓存之【隐私沙盒与扩展专用存储】
前端
漂流瓶jz1 小时前
理解Webpack插件机制:从插件使用、各类编译对象、Tapable到自定义插件与钩子开发
前端·javascript·webpack
梦帮科技11 小时前
GRAVIS v4.0:基于Web的极速套利架构设计与实时数据流实现
前端·人工智能·rust·自动化·区块链·智能合约·数字货币
爱勇宝12 小时前
办公资料反复修改、补传、交接混乱,我做了个桌面工具来解决这件事
前端·后端·程序员
微信开发api-视频号协议12 小时前
企业微信外部群开发自动化实践过程
java·前端·微信·自动化·企业微信·ipad
甲维斯13 小时前
Fable5:20美金的顶级设计师!
前端·人工智能
kyriewen13 小时前
我同时用了 Claude Code、Cursor 和 Codex,说说三个工具的真实差距——2026 年选错工具比不用 AI 更浪费时间
前端·ai编程·claude
Jackson__13 小时前
为了拯救我的腰椎和颈椎,我做了款浏览器插件!
前端·javascript·开源