带你实现一个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

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

相关推荐
酉鬼女又兒8 小时前
入门前端CSS 媒体查询全解析:从入门到精通,打造完美响应式布局(可用于备赛蓝桥杯Web应用开发)
前端·css·职场和发展·蓝桥杯·前端框架·html5·媒体
Dxy12393102168 小时前
HTML常用标签详解
前端·html
毛骗导演8 小时前
@tencent-weixin/openclaw-weixin 插件深度解析(一):认证与会话管理机制
前端·架构
wefly20178 小时前
告别本地环境!m3u8live.cn一键实现 M3U8 链接预览与调试
前端·后端·python·音视频·m3u8·前端开发工具
SuperEugene8 小时前
前端 console 日志规范实战:高效调试 / 垃圾 log 清理与线上安全避坑|编码语法规范篇
开发语言·前端·javascript·vue.js·安全
发现一只大呆瓜9 小时前
Vue - @ 事件指南:原生 / 内置 / 自定义事件全解析
前端·vue.js·面试
庄小焱9 小时前
React——React基础语法(1)
前端·javascript·vue.js
pingan87879 小时前
试试 docx.js 一键生成 Word 文档,效果很不错
开发语言·前端·javascript·ecmascript·word
张一凡939 小时前
重新理解 React 状态管理:用类的方式思考业务
前端·react.js
结网的兔子10 小时前
前端学习笔记——Element Plus 栅格布局系统示例
前端·javascript·css