这是我为准备前端/全栈开发工程师面试整理的第25天每日三题练习,涵盖了:
核心区别
Grid | FlexBox | |
---|---|---|
维度 | 二维布局(行+列),可同时控制横向和纵向布局 | 一维布局(主轴+交叉轴),只能处理单行或单列布局 |
控制粒度 | 支持显式定义轨道(行/列)和区域命名 | 通过弹性项动态分配空间 |
对齐方式 | 提供更强大的对齐控制(如place-items同时控制行列对齐) | * |
适用场景
Grid | Flexbox |
---|---|
复杂网格布局(如仪表盘) | 单行/单列布局(导航栏) |
需要严格对齐的表格型结构 | 内容动态分布的容器 |
响应式布局(结合minmax()和auto-fill) | 元素尺寸未知时的弹性布局 |
CSS 类名切换:在元素进入/离开时自动添加特定类名:
钩子函数:支持通过JavaScript控制动画(如@before-enter)
过渡模式:mode="out-in"控制进入/离开顺序
<Transition name="fade">
<div v-if="show">内容</div>
</Transition>
<style>
.fade-enter-active, .fade-leave-active {
transition: opacity 0.5s;
}
.fade-enter-from, .fade-leave-to {
opacity: 0;
}
</style>
核心问题清单:
解决方案:
架构设计
关键技术点
数据预取
// Next.js示例
export async function getServerSideProps(context) {
const data = await fetchAPI();
return { props: { data } }
}
客户端注水(Hydration)
性能优化
坚持每日三题,未来更进一步!如果你也在准备面试,欢迎一起刷题打卡!