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

推荐订阅源

爱范儿
爱范儿
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
GRAHAM CLULEY
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V2EX - 技术
V2EX - 技术
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
Webroot Blog
Webroot Blog
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
Hacker News: Ask HN
Hacker News: Ask HN
N
News and Events Feed by Topic
H
Heimdal Security Blog
H
Help Net Security
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
F
Full Disclosure
小众软件
小众软件
S
Securelist
罗磊的独立博客
NISL@THU
NISL@THU
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cisco Blogs
云风的 BLOG
云风的 BLOG
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
S
Schneier on Security
D
DataBreaches.Net
M
MIT News - Artificial intelligence
V
Vulnerabilities – Threatpost
N
News and Events Feed by Topic
有赞技术团队
有赞技术团队
F
Fortinet All Blogs
T
Tenable Blog
The Register - Security
The Register - Security
C
Check Point Blog
AWS News Blog
AWS News Blog
Cloudbric
Cloudbric
C
CXSECURITY Database RSS Feed - CXSecurity.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google Online Security Blog
Google Online Security Blog
博客园 - 叶小钗
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园 - 司徒正美

鬼影的基地

CVE-2025-61638:Sanitizer::validateAttributes data-XSS 萌娘百科水平越权漏洞 萌娘百科头像魔术字 IP 泄露 萌娘百科评论区 IP 泄露 修复 iPhone 13 iOS 16 Safari 中的 Bug 命名空间 在 iOS 的 Apple Mail 中添加 QQ邮箱 CodeMirror url() Bug Safari animation Bug 在 macOS 上部署 Viper CSS 自适应简单 Table CSS 像素画的方法
在 CSS 中进行数据类型转换
鬼影233 · 2026-06-02 · via 鬼影的基地

前言

以下大部分方法的兼容性并不算高。

<number><dimension>

最简单的,通过 calc(5 * 1px) 可以将数字转换为任何<dimension>

<dimension><number>

第一时间想到的便是相对的 calc(5px / 1px),但这样实际上并不能成功。正确的方法是使用 tan(atan2(5px, 1px))

<integer><string>

::before {
	counter-reset: n 1;
	content: counter(n);
}

注意此处的数字如果是直接指定(包括变量)为一个非整数,那其会被设定为 0。但如果是通过计算得到的,则会被隐式转换为整数(四舍五入)。

而如果需要保留小数部分,可以通过:

::before {
	--n: calc(pi);
	--w: round(down, var(--n));
	counter-reset: w var(--w) f calc((var(--n) - var(--w)) * pow(10, 2));
	content: counter(w) "." counter(f);
}

或者兼容性稍微好一点的:

@property --w {
	syntax: "<integer>";
	inherits: false;
	initial-value: 0;
}
::before {
	--n: calc(78.8);
	--w: calc(var(--n) - 0.5);
	--r: 3;
	counter-reset: w var(--w) f calc((var(--n) - var(--w)) * pow(10, var(--r)) - 0.5 + pow(10, calc(var(--r) * -1)));
	content: counter(w) "." counter(f);
}

<dimension><dimension>

@property --d2d {
	syntax: "<length>";
	inherits: false;
	initial-value: 0;
}
::before {
	--d2d: calc(1em);
	counter-reset: n tan(atan2(var(--d2d), 1px));
	content: counter(n);
}

通过这种方式,我们可以方便地查看每个元素的字体大小(px)。

类似地,我们也可以通过 --d2d: calc(100vw); 来查看视口的实时宽度。

但似乎这种方式在与上方的小数显示方法一起使用时会出现问题,具体原因不明。