惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
博客园_首页
宝玉的分享
宝玉的分享
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
T
Tailwind CSS Blog
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客
罗磊的独立博客
F
Fortinet All Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
阮一峰的网络日志
阮一峰的网络日志
I
InfoQ
Simon Willison's Weblog
Simon Willison's Weblog
D
DataBreaches.Net
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
Scott Helme
Scott Helme
B
Blog
M
MIT News - Artificial intelligence
K
Kaspersky official blog
H
Help Net Security
V
Vulnerabilities – Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
Engineering at Meta
Engineering at Meta
博客园 - 【当耐特】
L
Lohrmann on Cybersecurity
P
Privacy & Cybersecurity Law Blog
Project Zero
Project Zero
The Hacker News
The Hacker News
B
Blog RSS Feed
T
Tor Project blog

大佬论坛

52161.com 六一特价 500 易名 天涯这波是小作坊捞钱的吗,感觉很不专业的样子,居然连cdn都不用! 新天涯社区,卡爆了进不去啊! 20万拍到的域名,现在能涨到200万了吧 慢讯 关于天涯社区恢复访问进展的情况说明 新米 Gooey.cn 单词域名 1万左右收单字符域名,最好带V或者S,后缀最多不超过2位数 who.cx 现在已经不如 hu.is 好用了,这是怎么了? 最后几个四字母了,1588一个任选~ AI 做的图床真好看 用Discourse做论坛快到半个月了 兄弟们,我刚注册了域名 yin.hu 阴户 怎么样? 腾讯周年是啥时候 岛链壁纸主题开源 观星步入测试阶段 618和双十一哪个更火爆 nodebb.cc flarum.cc 出两个CC 天涯论坛明天回归了我感觉有压力 真正的天涯即将回归 你一定会用到的网站-WOCAONI.MA 上线 终于想到域名能做什么项目了。不容易啊。 沐雨云襄阳云服务器,性价比拉满 新米cdpc.cc niubi.ren 收一千五以内的单字符有木有 全国入户调查明天开始。。。 快快快!!Colocrossing洛杉矶补货补货了特供3c4g款20刀/年小鸡! 【开源自荐】耗费了几百亿token,我写了一个可以在浏览器运行的仿安卓系统 组合米,米表+交易站,打包888 5月满签记录记录!!! 小米御7 miyu7.com 只需288 2931.vip 29年到期,400出,全网最低价 香港 4-4 年付145 nmbai.cn 阿里的cn续费涨价了 cn也涨价了 ilaien.com 2017年注册 27年9月到期 68出 终于学会用frp啦,这下再也没有空间焦虑啦 安卓 除了 跳过广告的软件 大家还装了什么APP 下月见 昨晚在阿里云买了两个米 出 sss.hk 8元出一个国别单拼 AI智音 属于自己网站的音乐播放器!~ Nginx目前存在远程执行高危漏洞 浪费半天时间完活儿 周末这个签到活跃度,魔域论坛实锤了 写了个wordpress壁纸主题 趣域我老是输成QUYU.NET 大佬论坛还是太权威了 还缺啥 拿下了冷泡茶,做个调查 ai不是起中文名吗,坑我好几百 四个高频单词.yun打包200,易名p 刚刚获得一个新域名 caonimabi.de 观星,来咯,进度推进中 miqingju.com 加入了广告了😔 三个终端域名出,只卖一天 uiliuili.com U站,UI设计,188甩 一个多月来才收到一次打赏 mibiao.vip米表展示 15元出一个zblog的个人博客主题 Proxy001——500MB免费测试!高纯净度住宅代理IP!按GB计费!💥 是不是大家需要站点统计呢 大家最不能动摇的择偶标准是什么? 新写了个简单干净的米表:023.me 大佬们都是怎么统计自己网站的数据的 听说微信支持 PayPal 扫码支付了。 域名清仓…… .si 域名被炒起来了 捡漏越来越难了 原来世界上,还有这么好用的开源项目 山海间主题,多集功能 NaiYuan.com 易名3000 看上改价 第一次出米,虽然是亏本价。 mibiao.vip出出米表 查最低注册价格的网站是多少来着 记录一下剁手环节 欢迎佬们提交 准备开通这个邮箱,玩儿 推荐帖-推荐一个在线客服工具 终于,这个米是我的了 自己注册的公司没有实际经营,只有公众号和支付宝还有必要保留吗 互联功能 如果新建一个博客你会选Halo还是Wordpress 2026世界杯业务怎么部署服务器?美国香港双节点这样搭最省心 又入手了一个3字母cc 收个闲置的子比账号 有个COM域名,看有没有人想注册的 Sedo要被出售了 ,不知道会不会被狗爹接盘 gemini上不去了吗? 出几个玉米 从0到1写个仿微信朋友圈 认证了~ chedidi.cn 发现一个有趣的个人页 自己研究的wordpress主题更新,并正式上线,大佬们来捧捧场! 赛博朋克风音乐源码 继续低价出v p n好米 [开源] Stalux - 基于 Astro 的现代化静态博客主题,开箱即用 yaniu.net 是哪位大神的导航站
开源 简洁清爽个人主页
if · 2026-06-13 · via 大佬论坛

网址: xvxw.com


程序特色

极简 · 但不简陋

· 无卡片、无圆角、无阴影、无多余装饰
· 只有背景 + 玻璃层 + 文字 + 线
· 每个元素都有存在的理由

克制 · 但有温度

· 姓名下划线从左向右滑出
· 项目间分隔线同样滑出
· 动画只在进场时发生一次,不打扰、不疲惫

端庄 · 不追潮流

· 衬线字体(Cormorant Garamond / Georgia)
· 无 emoji、无表情、无花哨符号
· 适合严肃表达者、写作者、创作者

原生 · 零依赖

· 纯 HTML + CSS + JS
· 无框架、无 npm、无构建
· 一个文件,拷走即用

自适应 · 手机也是垂直一排

· 桌面端:链接居中,间距舒展
· 手机端:同样一行一个,不乱不挤

每次进入 · 动画都会重放

· 支持浏览器前进后退
· 支持切换标签页后回来
· 下划线永远会重新滑出

联系方式 · 不跳转只弹窗

· 邮件 / 微信 / QQ / Telegram
· 点击弹出对应内容,不打开外部应用
· 干净、直接、无干扰


<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
    <title>AFTER - A QUIET OBSERVER</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Cormorant Garamond', 'Times New Roman', 'Georgia', '宋体', serif;
            font-weight: 400;
            height: 100vh;
            width: 100%;
            overflow: hidden;
            background-color: #2a2826;
        }

        .bg {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            background-image: url('http://mms0.baidu.com/it/u=4124186030,920038977&fm=253&app=138&f=JPEG?w=800&h=1141');
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
        }

        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            background-color: rgba(255, 255, 255, 0.22);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
        }

        .content {
            position: relative;
            z-index: 2;
            height: 100vh;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 2rem 1.5rem;
            box-sizing: border-box;
            overflow-y: auto;
            scrollbar-width: none;
        }

        .content::-webkit-scrollbar {
            display: none;
        }

        .name-section {
            margin-bottom: 2.2rem;
            width: 100%;
            max-width: 600px;
        }

        .name {
            font-size: clamp(2.8rem, 10vw, 5rem);
            font-weight: 500;
            letter-spacing: 2px;
            color: #1e1c1a;
            text-shadow: 0 1px 1px rgba(0,0,0,0.02);
            display: inline-block;
            position: relative;
            padding-bottom: 0.4em;
            line-height: 1.2;
            opacity: 0;
            transform: translateY(8px);
            animation: fadeUp 0.55s ease forwards;
        }

        @keyframes fadeUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .name::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0%;
            height: 2px;
            background-color: #1e1c1a;
            transition: width 0.85s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        }

        .name-line-animate.name::after {
            width: 100% !important;
        }

        .subtitle {
            font-size: clamp(0.9rem, 4vw, 1.2rem);
            letter-spacing: 4px;
            margin-top: 0.9rem;
            color: #2c2825;
            font-weight: 400;
            text-transform: uppercase;
            font-family: 'Cormorant Garamond', 'Segoe UI', serif;
            opacity: 0;
            animation: fadeUp 0.6s 0.12s ease forwards;
        }

        .links-container {
            width: 100%;
            max-width: 360px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
        }

        .link-item {
            display: flex;
            flex-direction: column;
            width: 100%;
        }

        .project-link {
            display: block;
            text-align: center;
            font-size: 1.4rem;
            font-weight: 440;
            font-family: 'Cormorant Garamond', 'Georgia', serif;
            letter-spacing: 2px;
            padding: 0.7rem 0.2rem;
            color: #1e1c1a;
            text-decoration: none;
            background: none;
            border-radius: 0px;
            line-height: 1.4;
            transition: all 0.28s ease;
            opacity: 0;
            transform: translateY(6px);
            animation: fadeUp 0.5s ease forwards;
        }

        .project-link:hover {
            color: #000000;
            transform: translateX(5px);
            letter-spacing: 2.5px;
        }

        .project-link:active {
            opacity: 0.7;
            transform: translateX(2px);
        }

        .divider-line {
            width: 0%;
            height: 1px;
            background-color: rgba(30, 28, 26, 0.35);
            margin: 0 auto;
            transition: width 0.7s cubic-bezier(0.2, 0.85, 0.4, 1);
        }

        .divider-line-animate {
            width: 100% !important;
        }

        .link-item:last-child .divider-line {
            display: none;
        }

        .contact-section {
            margin-top: 2.5rem;
            width: 100%;
            max-width: 360px;
            text-align: center;
            opacity: 0;
            transform: translateY(12px);
            animation: fadeUp 0.6s 0.25s ease forwards;
        }

        .contact-label {
            font-size: 0.85rem;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: #4a4540;
            margin-bottom: 0.9rem;
            font-weight: 400;
            font-family: 'Cormorant Garamond', monospace;
        }

        .contact-items {
            display: flex;
            justify-content: center;
            gap: 2.2rem;
            flex-wrap: wrap;
            row-gap: 0.8rem;
        }

        .contact-link {
            font-size: 1.05rem;
            font-family: 'Cormorant Garamond', 'Georgia', serif;
            letter-spacing: 1.5px;
            color: #2c2825;
            text-decoration: none;
            border-bottom: 1px dotted rgba(44, 40, 37, 0.4);
            padding-bottom: 0.2rem;
            transition: all 0.25s ease;
            background: none;
            border-radius: 0px;
            cursor: pointer;
        }

        .contact-link:hover {
            color: #000000;
            border-bottom-color: #1e1c1a;
            letter-spacing: 2px;
            transform: translateY(-1px);
        }

        .contact-link:active {
            opacity: 0.7;
        }

        @media (max-width: 480px) {
            .content {
                padding: 1.8rem 1.2rem;
                justify-content: center;
            }
            .links-container {
                max-width: 280px;
            }
            .project-link {
                font-size: 1.2rem;
                padding: 0.55rem 0.1rem;
            }
            .name-section {
                margin-bottom: 1.8rem;
            }
            .subtitle {
                letter-spacing: 3px;
                margin-top: 0.6rem;
            }
            .contact-section {
                margin-top: 2rem;
                max-width: 280px;
            }
            .contact-items {
                gap: 1.5rem;
            }
            .contact-link {
                font-size: 0.95rem;
            }
            .contact-label {
                font-size: 0.75rem;
                margin-bottom: 0.7rem;
            }
        }

        @media (min-width: 1200px) {
            .links-container {
                max-width: 440px;
            }
            .project-link {
                font-size: 1.65rem;
                padding: 0.8rem 0.2rem;
            }
            .contact-section {
                max-width: 440px;
                margin-top: 3rem;
            }
            .contact-items {
                gap: 3rem;
            }
            .contact-link {
                font-size: 1.2rem;
            }
        }

        .project-link {
            -webkit-tap-highlight-color: transparent;
        }

        .contact-link {
            -webkit-tap-highlight-color: transparent;
        }

        .custom-alert {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(3px);
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
            visibility: hidden;
            opacity: 0;
            transition: visibility 0.2s, opacity 0.2s ease;
        }

        .custom-alert.active {
            visibility: visible;
            opacity: 1;
        }

        .alert-box {
            background: rgba(30, 28, 26, 0.92);
            backdrop-filter: blur(12px);
            padding: 1.6rem 2.2rem;
            border-radius: 0px;
            text-align: center;
            box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
            border: none;
            max-width: 280px;
            width: 80%;
            font-family: 'Cormorant Garamond', 'Georgia', serif;
        }

        .alert-message {
            font-size: 1.25rem;
            letter-spacing: 1px;
            color: #f0ede8;
            margin-bottom: 1.5rem;
            word-break: break-all;
            font-weight: 450;
        }

        .alert-button {
            background: rgba(255, 255, 255, 0.2);
            border: none;
            padding: 0.5rem 1.2rem;
            font-size: 0.9rem;
            font-family: 'Cormorant Garamond', 'Georgia', serif;
            letter-spacing: 1px;
            color: #ffffff;
            cursor: pointer;
            transition: all 0.2s ease;
            border-radius: 0px;
            backdrop-filter: blur(4px);
        }

        .alert-button:hover {
            background: rgba(255, 255, 255, 0.35);
            letter-spacing: 1.5px;
        }
    </style>
</head>
<body>
    <div class="bg"></div>
    <div class="overlay"></div>

    <div class="content">
        <div class="name-section">
            <h1 class="name">AFTER</h1>
            <div class="subtitle">NEVER GIVE UP</div>
        </div>

        <div class="links-container">
            <div class="link-item">
                <a href="#" class="project-link" id="link1">拾柒日记</a>
                <div class="divider-line"></div>
            </div>
            <div class="link-item">
                <a href="#" class="project-link" id="link2">TLD VIP</a>
                <div class="divider-line"></div>
            </div>
            <div class="link-item">
                <a href="#" class="project-link" id="link3">eTLD</a>
                <div class="divider-line"></div>
            </div>
            <div class="link-item">
                <a href="#" class="project-link" id="link4">lDNS</a>
                <div class="divider-line"></div>
            </div>
        </div>

        <div class="contact-section">
            <div class="contact-label">联络回声</div>
            <div class="contact-items">
                <a class="contact-link" id="contactEmail">邮件</a>
                <a class="contact-link" id="contactWechat">微信</a>
                <a class="contact-link" id="contactQQ">QQ</a>
                <a class="contact-link" id="contactTelegram">Telegram</a>
            </div>
        </div>
    </div>

    <div id="customAlert" class="custom-alert">
        <div class="alert-box">
            <div class="alert-message" id="alertMessage"></div>
            <button class="alert-button" id="alertCloseBtn">确 认</button>
        </div>
    </div>

    <script>
        (function() {
            function triggerAllAnimations() {
                const nameElement = document.querySelector('.name');
                const dividerLines = document.querySelectorAll('.divider-line');
                
                if (nameElement) {
                    nameElement.classList.remove('name-line-animate');
                    void nameElement.offsetWidth;
                    nameElement.classList.add('name-line-animate');
                }
                
                if (dividerLines.length) {
                    dividerLines.forEach(line => {
                        line.classList.remove('divider-line-animate');
                        void line.offsetWidth;
                        line.classList.add('divider-line-animate');
                    });
                }
            }
            
            function setupLinks() {
                const defaultLinks = [
                    'https://www.017.com.cn',
                    'https://tld.vip',
                    'https://www.etld.cn',
                    'https://www.ldns.cn'
                ];
                const linkElements = document.querySelectorAll('.project-link');
                if (linkElements.length === 4) {
                    linkElements.forEach((link, idx) => {
                        if (!link.hasAttribute('data-custom')) {
                            link.href = defaultLinks[idx];
                            link.setAttribute('target', '_blank');
                            link.setAttribute('rel', 'noopener noreferrer');
                        }
                    });
                }
            }
            
            function showAlert(message) {
                const alertOverlay = document.getElementById('customAlert');
                const alertMessageDiv = document.getElementById('alertMessage');
                if (!alertOverlay || !alertMessageDiv) return;
                alertMessageDiv.innerText = message;
                alertOverlay.classList.add('active');
            }
            
            function setupContactHandlers() {
                const emailLink = document.getElementById('contactEmail');
                const wechatLink = document.getElementById('contactWechat');
                const qqLink = document.getElementById('contactQQ');
                const telegramLink = document.getElementById('contactTelegram');
                
                if (emailLink) {
                    emailLink.addEventListener('click', function(e) {
                        e.preventDefault();
                        showAlert('[email protected]');
                    });
                }
                
                if (wechatLink) {
                    wechatLink.addEventListener('click', function(e) {
                        e.preventDefault();
                        showAlert('nnclll');
                    });
                }
                
                if (qqLink) {
                    qqLink.addEventListener('click', function(e) {
                        e.preventDefault();
                        showAlert('暂无可用账号');
                    });
                }
                
                if (telegramLink) {
                    telegramLink.addEventListener('click', function(e) {
                        e.preventDefault();
                        showAlert('@LocalDNS');
                    });
                }
            }
            
            function initAlertCloser() {
                const alertOverlay = document.getElementById('customAlert');
                const closeBtn = document.getElementById('alertCloseBtn');
                if (!alertOverlay || !closeBtn) return;
                
                function closeAlert() {
                    alertOverlay.classList.remove('active');
                }
                
                closeBtn.addEventListener('click', closeAlert);
                alertOverlay.addEventListener('click', function(e) {
                    if (e.target === alertOverlay) {
                        closeAlert();
                    }
                });
                
                document.addEventListener('keydown', function(e) {
                    if (e.key === 'Escape' && alertOverlay.classList.contains('active')) {
                        closeAlert();
                    }
                });
            }
            
            function resetAndAnimate() {
                triggerAllAnimations();
                setupLinks();
                setupContactHandlers();
            }
            
            window.addEventListener('pageshow', function(event) {
                if (event.persisted) {
                    resetAndAnimate();
                } else {
                    resetAndAnimate();
                }
            });
            
            if (document.readyState === 'loading') {
                document.addEventListener('DOMContentLoaded', function() {
                    resetAndAnimate();
                    initAlertCloser();
                });
            } else {
                resetAndAnimate();
                initAlertCloser();
            }
            
            (function handleVisibilityChange() {
                let hiddenProperty = 'hidden' in document ? 'hidden' : 'webkitHidden' in document ? 'webkitHidden' : undefined;
                let visibilityChangeEvent = hiddenProperty ? (hiddenProperty === 'hidden' ? 'visibilitychange' : 'webkitvisibilitychange') : null;
                if (visibilityChangeEvent) {
                    document.addEventListener(visibilityChangeEvent, function() {
                        if (!document[hiddenProperty]) {
                            triggerAllAnimations();
                        }
                    });
                }
            })();
        })();
    </script>
</body>
</html>