分享一些我在面试时所遇到的CSS问题 (三)

前言

在前端面试中,CSS是一个非常重要的考察点,因为它是构建网页界面和用户交互的关键技术之一。年也算过完了,又到了春招的时候,这是一个检验成果的阶段,接下来我会陆续分享一下我在面试时所遇到的与CSS有关的问题。祝大家在接下来的春招中取得一个好成绩!

CSS3中新增了哪些属性?

  1. 选择器:CSS3 引入了更多的选择器,如属性选择器(attribute selectors)和伪类选择器(pseudo-classes),使得选择元素的方式更加灵活和强大。
  • 属性选择器:[attribute="value"],例如:input[type="text"]
  • 伪类选择器::hover:active:focus,例如:a:hover
  1. box-shadow:用于创建元素的阴影效果,可以通过设置偏移量、模糊半径、颜色等属性来调整阴影的样式和效果。
html 复制代码
.box {
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
  1. background-clip:用于控制背景的绘制区域,可以指定背景绘制在元素的内容区、内边距区还是边框区。
html 复制代码
.box {
    background-clip: content-box; /* 绘制背景仅限于内容框 */
}
  1. transition:过渡动画允许在元素的状态改变时以平滑的动画效果过渡,您可以定义属性的变化时长、速度曲线等参数。
html 复制代码
.button {
    transition: background-color 0.3s ease;
}
.button:hover {
    background-color: lightblue;
}
  1. transform:用于对元素进行变换,包括旋转、缩放、平移、倾斜等操作,可以创建丰富的视觉效果。
html 复制代码
.box {
    transform: rotate(45deg) scale(1.2);
}
  1. animation:动画属性允许您创建更复杂和自定义的动画效果,通过关键帧(keyframes)来定义动画的每一帧的样式。
html 复制代码
@keyframes slide {
    0% { left: 0; }
    100% { left: 100px; }
}
.box {
    animation: slide 2s infinite alternate;
}
  1. 渐变色:CSS3 引入了线性渐变和径向渐变两种渐变方式,可以用来创建平滑过渡的颜色效果,使得背景、边框等元素的样式更加丰富多彩。
html 复制代码
.gradient {
    background: linear-gradient(to right, red, yellow);
}

说说回流重绘

是什么

  1. 回流(Reflow)

    • 回流是指浏览器为了重新渲染部分或全部文档而重新计算元素的位置和几何结构的过程。
    • 当页面布局发生改变时,浏览器需要重新计算元素的位置和大小,然后重新绘制页面。
    • 回流是一种比重绘更加昂贵的操作,因为它涉及到整个页面布局的重新计算。
  2. 重绘(Repaint)

    • 重绘是指当元素的样式发生改变,但不影响其布局时,浏览器会重新绘制元素的过程。
    • 重绘不涉及到布局的改变,因此它比回流的成本要低。

触发

回流

  • 改变窗口大小
  • 添加或删除DOM元素
  • 改变元素的位置、尺寸、边距、填充等

重绘

改变元素的样式,如颜色、背景色、字体大小等

触发回流必定会发生重绘

祝大家在接下来的春招中取得一个好成绩!

假如您也和我一样,在准备春招。欢迎加我微信shunwuyu,这里有几十位一心去大厂的友友可以相互鼓励,分享信息,模拟面试,共读源码,齐刷算法,手撕面经。来吧,友友们!"

相关推荐
Hilaku1 分钟前
Sass 和 Less 在 2026 年彻底多余了吗?
前端·javascript·程序员
百慕大三角6 分钟前
AI 写代码最大的风险不是不会写,而是太能写:我给 Coding Agent 加的 4 层工程约束
前端·ai编程·trae
用户921080262868 分钟前
从 EventSource 到可复用 SSE Client:我如何实现多实例、双超时与自动重连
前端
咩咩啃树皮9 分钟前
ES6 Set 核心特点 + 最简数组去重
前端·javascript·html
流浪00123 分钟前
Linux系统篇36——线程(一) 线程的概念、本质和Linux的实现方式
linux·面试·操作系统·线程
zhanghaha131428 分钟前
HTML系列教程:18_HTML / CSS 颜色零基础详解
css·html·tensorflow
aa小小35 分钟前
uniApp离线数据不丢失方案
前端
代码小学僧1 小时前
从 0 到 1,记录我的第一个出海 SaaS 独立开发项目
前端·rpc·音视频开发
Aaswk1 小时前
从 HTML/CSS/JS 到 Vue + Axios 的一篇实战笔记
前端·css·vue.js·html
IMPYLH1 小时前
HTML 的 <span> 标签
前端·html