ToB企服应用市场:ToB评测及商务社交产业平台

标题: 2024年最全CSS前端经典口试题及分析——小白入门必备,2024年最新盘算机网 [打印本页]

作者: 悠扬随风    时间: 2024-6-11 09:46
标题: 2024年最全CSS前端经典口试题及分析——小白入门必备,2024年最新盘算机网
末了

喜欢的话别忘了关注、点赞哦~
开源分享:【大厂前端口试题分析+核心总结学习笔记+真实项目实战+最新解说视频】
   

  在大型项目中,我会使用 Clearfix 方法,在必要的地方使用.clearfix。设置overflow: hidden的方法大概使其子元素表现不完备,当子元素的高度大于父元素时。
6.怎样解决不同欣赏器的样式兼容性问题?


7.怎样为功能受限的欣赏器提供页面? 使用什么样的技术和流程?


8.有什么不同的方式可以隐藏内容(使其仅实用于屏幕阅读器)?

这些方法与可访问性有关。

纵然 WAI-ARIA 是抱负的解决方案,我也会采用绝对定位方法,因为它具有最少的注意事项,实用于大多数元素,而且使用起来非常简朴。
参考资料:

9.编写高效的 CSS 应该注意什么?

首先,欣赏器从最右边的选择器,即关键选择器(key selector),向左依次匹配。根据关键选择器,欣赏器从 DOM 中筛选出元素,然后向上遍历被选元素的父元素,判断是否匹配。选择器匹配语句链越短,欣赏器的匹配速度越快。克制使用标签和通用选择器作为关键选择器,因为它们会匹配大量的元素,欣赏器必须要进行大量的工作,去判断这些元素的父元素们是否匹配。
BEM (Block Element Modifier) methodology recommends that everything has a single class, and, where you need hierarchy, that gets baked into the name of the class as well, this naturally makes the selector efficient and easy to override. BEM (Block Element Modifier)原则上发起为独立的 CSS 类定名,而且在必要层级关系时,将关系也体如今定名中,这自然会使选择器高效且易于覆盖。
搞清楚哪些 CSS 属性会触发重新结构(reflow)、重绘(repaint)和合成(compositing)。在写样式时,克制触发重新结构的大概。
参考资料:

10.使用 CSS 预处置惩罚的优缺点分别是什么?

长处:

缺点:

11.对于你使用过的 CSS 预处置惩罚,说说喜欢和不喜欢的地方?

喜欢:

Dislikes:

12.怎样实现一个使用非标准字体的网页计划?

使用@font-face并为不同的font-weight定义font-family。
13.解释欣赏器怎样确定哪些元素与 CSS 选择器匹配。

这部分与上面关于编写高效的 CSS 有关。欣赏器从最右边的选择器(关键选择器)根据关键选择器,欣赏器从 DOM 中筛选出元素,然后向上遍历被选元素的父元素,判断是否匹配。选择器匹配语句链越短,欣赏器的匹配速度越快。
例如,对于形如p span的选择器,欣赏器首先找到所有<span>元素,并遍历它的父元素直到根元素以找到<p>元素。对于特定的<span>,只要找到一个<p>,就知道’`已经匹配并停止继续匹配。
参考资料:

14.描述伪元素及其用途。

CSS 伪元素是添加到选择器的关键字,去选择元素的特定部分。它们可以用于装饰(:first-line,:first-letter)或将元素添加到标记中(与 content:…组合),而不必修改标记(:before,:after)。

参考资料:

15.说说你对盒模型的理解,以及怎样告知欣赏器使用不同的盒模型渲染结构。

CSS 盒模型描述了以文档树中的元素而天生的矩形框,并根据排版模式进行结构。每个盒子都有一个内容区域(例如文本,图像等)以及四周可选的padding、border和margin区域。
CSS 盒模型负责盘算:

盒模型有以下规则:

参考资料:

这是我整理的口试题中的一部分,此外还包含HTML、JavaScript、React、Vue、欣赏器、服务端与网络、算法等等…

篇幅有限,仅展示部分内容



如果你必要这份完备版的口试题+分析,【点击我】就可以了,免费分享给各人。

16.* { box-sizing: border-box; }会产生怎样的效果?


17. display的属性值都有哪些?


18. inline和inline-block有什么区别?

我把block也加入其中,为了得到更好的比较。
| | block | inline-block | inline |
| — | — | — | — |
| 大小 | 填充其父容器的宽度。 | 取决于内容。 | 取决于内容。 |
| 定位 | 重新的一行开始,而且不允许旁边有 HTML 元素(除非是float) | 与其他内容一起流动,并允许旁边有其他元素。 | 与其他内容一起流动,并允许旁边有其他元素。 |
| 可否设置width和height | 能 | 能 | 不能。 设置会被忽略。 |
| 可以使用vertical-align对齐 | 不可以 | 可以 | 可以 |
| 边距(margin)和填充(padding) | 各个方向都存在 | 各个方向都存在 | 只有水平方向存在。垂直方向会被忽略。 尽管border和padding在content四周,但垂直方向上的空间取决于’line-height’ |
| 浮动(float) | - | - | 就像一个block元素,可以设置垂直边距和填充。 |
19.relative、fixed、absolute和static四种定位有什么区别?

经过定位的元素,其position属性值必然是relative、absolute、fixed或sticky。

参考资料:

20.你相识 CSS Flex 和 Grid 吗?

Flex 主要用于一维结构,而 Grid 则用于二维结构。
Flex

flex容器中存在两条轴, 横轴和纵轴, 容器中的每个单位称为flex item。
在容器上可以设置6个属性:

注意:当设置 flex 结构之后,子元素的 float、clear、vertical-align 的属性将会失效。
Flex 项目属性

有六种属性可运用在 item 项目上:
Grid

CSS网格结构用于将页面分割成数个主要区域,或者用来定义组件内部元素间大小、位置和图层之间的关系。
像表格一样,网格结构让我们可以或许按行或列来对齐元素。 但是,使用CSS网格大概还是比CSS表格更容易结构。 例如,网格容器的子元素可以本身定位,以便它们像CSS定位的元素一样,真正的有重叠和条理。
21.响应式计划与自顺应计划有何不同?

响应式计划和自顺应计划都以进步不同设备间的用户体验为目标,根据视窗大小、分辨率、使用情况和控制方式等参数进行优化调整。
响应式计划的顺应性原则:网站应该依附一份代码,在各种设备上都有精良的表现和使用效果。响应式网站通过使用媒体查询,自顺应栅格和响应式图片,基于多种因素进行变化,创造出优良的用户体验。就像一个球通过膨胀和收缩,来顺应不同大小的篮圈。
自顺应计划更像是渐进式加强的现代解释。与响应式计划单一地去适配不同,自顺应计划通过检测设备和其他特征,从早已定义好的一系列视窗大小和其他特性中,选出最恰当的功能和结构。与使用一个球去穿过各种的篮筐不同,自顺应计划允许使用多个球,然后根据不同的篮筐大小,去选择最符合的一个。
参考资料:

22.你有没有使用过视网膜分辨率的图形?当中使用什么技术?

我倾向于使用更高分辨率的图形(表现尺寸的两倍)来处置惩罚视网膜表现。更好的方法是使用媒体查询,像@media only screen and (min-device-pixel-ratio: 2) { ... },然后改变background-image。
对于图标类的图形,我会尽大概使用 svg 和图标字体,因为它们在任何分辨率下,都能被渲染得非常清楚。
还有一种方法是,在检查了window.devicePixelRatio的值后,使用 JavaScript 将<img>的src属性修改,用更高分辨率的版本进行更换。
参考资料:

23.什么情况下,用translate()而不用绝对定位?什么时间,情况相反。

translate()是transform的一个值。改变transform或opacity不会触发欣赏器重新结构(reflow)或重绘(repaint),只会触发复合(compositions)。而改变绝对定位会触发重新结构,进而触发重绘和复合。transform使欣赏器为元素创建一个 GPU 图层,但改变绝对定位会使用到 CPU。 因此translate()更高效,可以缩短平滑动画的绘制时间。
当使用translate()时,元素仍然占据其原始空间(有点像position:relative),这与改变绝对定位不同。
参考资料:

其他答案


24.一边固定宽度一边宽度自顺应

可以使用flex结构 复制下面的HTML和CSS代码 用欣赏器打开可以看到效果
     .wrap {
display: flex;
justify-content: space-between;
}
.div1 {
min-width: 200px;
}
.div2 {
width: 100%;
background: #e6e6e6;
}
html,
body,
div {
height: 100%;
margin: 0;
}
25.水平垂直居中的方式

flex

// 父容器
display: flex;
justify-content: center;
align-items: center;
position

// 父容器
position: relative;
// 子容器
position:absolute;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
position+transform

// 父容器
position: relative;
// 子容器
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
table-cell

      html, body {
height: 100%;
width: 100%;
margin: 0;
}
.box {
display: table;
height: 100%;
width: 100%;
}
.content {
display: table-cell;
vertical-align: middle;
text-align: center;
}
.inner {
background-color: #000;
display: inline-block;
width: 200px;
height: 200px;
}
前端框架

前端框架太多了,真的学不动了,别慌,其实对于前端的三大马车,Angular、React、Vue 只要把其中一种框架学明白,底层原理实现,其他两个学起来不会很吃力,这也取决于你以后就职的公司要求你会哪一个框架了,当然,会的越多越好,但是每每每个人的时间是有限的,对于自学的门生,或者即将口试找工作的人,当然要选择一门框架深挖原理。
以 Vue 为例,我整理了如下的口试题。

如果你觉得对你有资助,可以戳这里获取:【大厂前端口试题分析+核心总结学习笔记+真实项目实战+最新解说视频】

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4