An open source workbench for AI-assisted security research: scope, approvals, tools, and evidence in one project.
Browse 350+ upscaled emoji and stickers, pick favorites, and export them to Slack in one paste.
White-label document ingestion: upload PDFs, Office files, and media, then search with cited answers via REST, SDK, or chat.
我的项目、实验和仓库精选。
记录我的开源贡献、项目和实验。
A code + schema generator for JSON or CSV input.
A functional and fluent API built around native JavaScript promises.
High performance image resizing and streaming proxy for Node.js.
A powerful key-value service with several database adapters.
A modern app starter using TS, Vite, React, Tailwind CSS, and more.
CTO & Co-founder, 17th Street Labs
程序员 | 领导者思考者 | 折腾者
<form>
你足够前端吗?
选择 唯一无效的 ❌ font-size:
font-size
10cx 不正确,因为 cx 不是一个真实的 CSS 单位。(至少在撰写本文时是如此。)
10cx
cx
常用单位包括熟悉的 px、rem、em。
px
rem
em
较新的单位对动态、响应式布局很有用。
ch
0
vmin
vmax
vh
vw
还有一些一直存在但很少使用的单位,例如表示厘米的 cm、mm、表示英寸的 in、以及表示点的 pt。
cm
mm
in
pt
你能找出 唯一 有效的 👍 十六进制代码吗?
十六进制代码可用于在 CSS 中表示颜色。它们以 # 开头,必须包含 3、4、6 或 8 位十六进制数字。
#
3 位十六进制代码是 6 位代码的简写形式,每个字符会重复一次。4 位代码则包含透明度的 alpha 通道。
例如 #ABC 等同于 #AABBCC,#ABCD 等同于 #AABBCCDD。想了解更多十六进制值的处理方式,请查看我的 JavaScript 数字测验。
#ABC
#AABBCC
#ABCD
#AABBCCDD
以下哪个单位 不是 有效的 ❌ CSS 单位?
像 ch、vmin、vmax、vh、vw 这样的新单位在动态/响应式布局中非常有用。
还有一些一直存在但很少使用的单位,例如表示厘米的 cm、mm、表示英寸的 in、表示点的 pt、pc、表示大写字母大小的 cap,以及等于字母 x 高度的 ex。
pc
cap
x
ex
常用单位包括熟悉的像素单位 px、相对于元素字体大小的 em,以及 rem——它其实只是相对于根元素的 em 单位,别想太多,它并不是对已逝的 90 年代乐队 R.E.M. 的致敬。
以下 HTML 最匹配哪个选择器?
<a id="home" name="home" href="/home">Home</a>
正确答案是 a#home[name='home'],它同时匹配 id 和 name 属性。在标准模式的 HTML 中,ID 值区分大小写,所以 #Home 不匹配 id="home"。空格是后代组合符,会选择某个祖先元素内的另一个元素,而不是把多个条件组合到同一个链接上。
a#home[name='home']
id
name
#Home
id="home"
:contains() 选择器不是标准的 CSS 选择器,但在某些 JS 库中可用。
:contains()
哪个选择器匹配下面的 HTML 按钮?
<button onclick="openModal()">Contact</button>
正确答案是 button[onclick],它匹配属性 onclick 的存在。
button[onclick]
onclick
请注意,:link 只针对未访问的 href 链接,::click 不是有效的伪元素,且 :focus 只针对获得焦点的元素。
:link
href
::click
:focus
以下哪个选择器是无效的?
选择器 c > > d {} 无效,因为子组合符 > 被重复使用且两者之间没有选择器。
c > > d {}
>
其余选择器都是有效的。像 c {} 这样的类型选择器在语法上是合法的 CSS,即使 c 不是标准的 HTML 元素。
c {}
c
以下 HTML 中,哪个选择器匹配最后一个链接?
<nav> <a name="home" href="/home">Home</a> <a name="login" href="/login">Login</a> <a name="help" href="/help">Help</a></nav>
正确的选择器是 a:last-child,它匹配当 <a> 同时也是其父元素的最后一个子节点时的最后一个 <a>。nav:nth-child(3) 会匹配其父元素的第三个子元素 <nav>。
a:last-child
<a>
nav:nth-child(3)
<nav>
哪个选择器会拥有更高的优先级?
a#quote 选择器因包含 ID 而拥有最高的特异性,优先级高于仅使用标签或类的选择器。
a#quote
哪条声明能让行内文本在其包含块内水平居中?
使用 text-align: center; 可以让块级元素中的文本水平居中。CSS 没有 align 属性。margin: 0 auto; 可以让具有受限宽度的块水平居中,但不会让块内的文本居中。
text-align: center;
align
margin: 0 auto;
align-content 在支持的布局上下文中对齐内容,例如网格和多行弹性容器;它不是文本对齐属性。text-content 也不是有效的 CSS 属性。
align-content
text-content
如何在现代流式布局中垂直居中块容器内的内容?
使用 align-content 是在流式布局中垂直居中块容器内容的现代方法。
align-items 和 justify-content 属性用于 flexbox 和 grid 布局,而不是流式布局。
align-items
justify-content
margin: 0 auto; 和 margin: auto; 都只能水平居中块级元素,无法垂直居中。
margin: auto;
以下 HTML 中 <a> 链接文本的像素大小是多少?
<body style="font-size: 40px !important;"> <nav style="font-size: 50%;"> <a style="font-size: 25%;">HOME</a> </nav></body>
对于 <a>,font-size 计算结果为 5px:40px(body) * 50%(nav) = 20px,然后 20px * 25% = 5px。
下面 HTML 中的 “HOME” 链接,1.2rem 的像素大小是多少?
1.2rem
<html style="font-size: 10px;"> <body style="font-size: 20px;"> <a style="font-size: 1.2rem;">HOME</a> </body></html>
1.2rem 转换为 12px,因为 rem 单位引用根元素或 <html> 的字体大小,这里设为 10px。
<html>
和前一道题类似,下面 HTML 中 “HOME” 链接的 1.2em 对应的像素大小是多少?
1.2em
<html style="font-size: 10px;"> <body style="font-size: 20px;"> <a style="font-size: 1.2em;">HOME</a> </body></html>
1.2em 转换为 24px,因为 em 单位引用继承的字体大小,这里设置为 20px。
哪个选择器的特异性最低?
:where(.card) .title 的特异性最低。:where() 伪类及其内部内容的特异性为 0-0-0,因此仅计算 .title。而 :is(.card) .title 保留了 .card 的特异性,.card .title 包含两个类选择器,#card .title 则包含一个 ID 选择器。
:where(.card) .title
:where()
0-0-0
.title
:is(.card) .title
.card
.card .title
#card .title