DanLevy.net

测验:你了解 CSS基础吗?(2025)

你足够前端吗?

测验:你了解 CSS 吗?

选择 唯一无效的font-size

10cx 不正确,因为 cx 不是一个真实的 CSS 单位。(至少在撰写本文时是如此。)

常用单位包括熟悉的 pxremem

较新的单位对动态、响应式布局很有用。

  • ch - 0 字符的宽度
  • vmin - 视口最小值
  • vmax - 视口最大值
  • vh - 视口高度
  • vw - 视口宽度

还有一些一直存在但很少使用的单位,例如表示厘米的 cmmm、表示英寸的 in、以及表示点的 pt

你能找出 ONE 有效的 👍 十六进制代码吗?

十六进制代码可用于在 CSS 中表示颜色。它们以 # 开头,必须包含 3、4、6 或 8 位十六进制数字。

3 位十六进制代码是 6 位代码的简写形式,每个字符会重复一次。4 位代码则包含透明度的 alpha 通道。

例如 #ABC 等同于 #AABBCC#ABCD 等同于 #AABBCCDD。想了解更多十六进制值的处理方式,请查看我的 JavaScript 数字测验

以下哪个单位 不是 有效的 ❌ CSS 单位?

chvminvmaxvhvw 这样的新单位在动态/响应式布局中非常有用。

还有一些一直存在但很少使用的单位,例如表示厘米的 cmmm、表示英寸的 in、表示点的 ptpc、表示大写字母大小的 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'],它同时匹配 idname 属性。CSS 选择器区分大小写,所以 #Home 不起作用,且空格表示子元素,这里不适用。

:contains() 选择器不是标准的 CSS 选择器,但在某些 JS 库中可用。

哪个选择器匹配下面的 HTML 按钮?

<button onclick="openModal()">Contact</button>

正确答案是 button[onclick],它匹配属性 onclick 的存在。

请注意,:link 只针对未访问的 href 链接,::click 不是有效的伪元素,且 :focus 只针对获得焦点的元素。

以下哪个选择器是无效的?

选择器 c > > d {} 无效,因为子组合符 > 被重复使用且两者之间没有选择器。

其余选择器都是有效的。像 c {} 这样的类型选择器在语法上是合法的 CSS,即使 c 不是标准的 HTML 元素。

以下 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#quote 选择器因包含 ID 而拥有最高的特异性,优先级高于仅使用标签或类的选择器。

怎么在盒子里居中“shit”?

使用 text-align: center; 是在块级元素中居中文本的正确方法。align 属性用于 flexbox 布局,margin: 0 auto; 用于水平居中块级元素。

align-content 属性用于 grid 布局,而 text-content 不是有效的 CSS 属性。

如何在现代流式布局中垂直居中块容器内的内容?

使用 align-content 是在流式布局中垂直居中块容器内容的现代方法。

align-itemsjustify-content 属性用于 flexbox 和 grid 布局,而不是流式布局。

margin: 0 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 的像素大小是多少?

<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 中 “HOME” 链接的 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 选择器。