该文章为译文,这是原文地址。
1.什么是“盒子模型”?
Box-model 是关于 padding 和 border 如何影响元素的宽度和高度的。如果 div 的宽度为 200px,padding 为 10px。则根据盒模型,div 的真实宽度将是(200 + 10 + 10 = 220px)(200 内容宽度+10 左内边距+10 右内边距)。开发人员可以通过从真实宽度中减去 padding 来调整 CSS 中的宽度,例如:200-10-10,或者我们可以使用box-sizing:border-box
。这将自行调整宽度,开发人员不需要在代码中做任何事情。
面试官想看看您是否知道 padding,border 的影响,以及该影响的解决方案。
2.为什么要 mobile-first,您将如何实现?
mobile-first 是开发响应式 Web 应用的概念。mobile-first 是指不使用媒体查询而是针对移动设备编写 CSS。要为移动设备以外的设备编写样式,应添加媒体查询。(可传统 PC 网站开发方式相反)
面试官想看看您是否知道如何开始响应式网站的开发、断点和策略。
3.谈谈您对{outline:none}的看法?
这是开发人员可以为网站做的最大的坏事之一,我们不应该提倡这种行为。这对于可访问性和专注性非常重要。因此,如果我看到这行代码,我的反应是开发人员根本不在乎可访问性。
面试官想看看您是否知道无障碍性,并且您是否对此在意?
4.什么是伪元素和伪类?
伪元素是样式元素特定部分的方式。例如::first-letter
、:: first-line
、:: after
、:: before
等。 伪类用于定义元素的特殊状态。例如:hover
、:focus
、:active
等。按照 CSS3 规范, ::和:用于区分伪元素和伪类。
5.哪些新的 CSS3 属性会引起您的兴趣?
这个问题的答案因开发人员而异。对我来说,答案是:
border-radius
:在有border-radius
之前,实现圆角是非常有挑战性和棘手的。这曾阻碍了设计师的创造力。对于开发人员来说,实现圆角是一项性能密集型任务,但是由于border-radius
属性的出现,现在非常容易就能实现圆角。它不仅为开发人员提供了更多功能,还为设计师提供了更多功能。CSS Grids
:这是一种新的、改进的、功能强大的创建 web 布局的方法。开发人员迫切需要此功能,以阻止黑客入侵并从 CSS 本身获得一些东西。currentColor
:从维护和少写代码的角度来看,这是我最喜欢的。通过使用currentColor
,您可以告诉属性使用该 CSS 代码块中已经定义的颜色。现在,我将少写 1 个颜色值,而且当要发生颜色改变时,我只需要在一个位置进行更改。