2024 高频前端面试题汇总之CSS篇(二)

前言

📢最近准备春招啦了,所以整理了一些前端高频大厂面试题,分享给大家,如有问题欢迎留言指正,面试专栏我会长期更新,欢迎大家点赞🤞、收藏📌,关注➕,感谢!

2024 高频前端面试题汇总之CSS篇(一) 这个上期的文章

5. css中有哪些方式可以隐藏页面元素?区别是什么?

  1. display: none 脱离文档流 无法响应事件 回流重绘
  2. visibility: hidden 占据文档流 无法响应事件 重绘
  3. opacity: 0 占据文档流 响应事件 重绘 || 不重绘
  4. position: absolute 脱离文档流 无法响应事件 回流重绘
  5. clip-path: circle(0%) 占据文档流 无法响应事件 重绘

6.# 说说回流重绘 (重排重绘)

  • 是什么 回流:浏览器渲染页面之前需要对结构进行布局计算 重绘:将已经计算好布局的容器绘制出来

  • 触发 回流:页面上有容器的几何属性发生变更 重绘:容器非几何属性变更 (字体,颜色)

    回流必定重绘,重绘不一定回流

7 # 谈谈你对BFC的理解

  • 是什么 块级格式化上下文,是页面中一个渲染区域,有一套属于自己的渲染规则

  • 渲染规则

    1. BFC容器在计算高度时,浮动元素的高度也会计算在内
    2. BFC容器内的子元素的margin-top不会和BfC这个父容器发成重叠
    3. 遵照从上往下从左往右的布局排列

代码案例一

<style> 复制代码
>    *{
      margin: 0;padding: 0;
    }
    ul{
      overflow: auto;
    }
    li{
      list-style: none;
      width: 200px;
      height: 50px;
      background-color: chocolate;
     float: left;
    }
  </style>
</head>
<body>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
  </ul>

在父容器中没有加bfc容器ul的宽度为

在添加bfc容器时ul的宽度为

案例二可以看看我原先的文章

掌握前端利器:深度解析CSS浮动及应用技巧

  • 触发条件

    1. overflow: 不为visible
    2. float
    3. display: inline-block || inline-xxx || flex || table-xxx || grid
    4. position: absolute || fixed
  • 应用 清除浮动

8.水平垂直居中的方式有哪些? !!!!!

  1. position: absolute + translate || margin负值(已知宽高)
css 复制代码
 .box{// 父盒子
      width: 500px;
      height: 500px;
      display:relative;
      }
  .item{
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
  } 
  在知道子盒子高宽时
   .item{
      width: 200px;
      height: 200px;
      position: absolute;
      left: 50%;
      top: 50%;  
      margin-top:-100px:
      margin-left:-100px:
  }       
  1. flex
css 复制代码
 .box{// 父盒子
      dispaly:flex
      justify-content: center;
      align-items: center;
      }
  1. 网格布局diasplay:grid
css 复制代码
      display: grid;
      justify-content: center;
      align-items: center; 
  1. table: text-align + vertical-align (子容器不能是块级)
css 复制代码
.box{// 父盒子
      dispaly:table
      text-align: center;
      vertical-align: center;
      }
  .item{
    display:inline-block;
  }
  1. margin 如觉得本文对你有帮助的话,欢迎点赞❤❤❤,写作不易,持续输出的背后是无数个日夜的积累,您的点赞是持续写作的动力,感谢支持
相关推荐
Mh5 小时前
别再只会 `find` 了:Map 在前端业务里的真实用法
前端·javascript
用户059540174469 小时前
把AI对话记忆存储测试从手工改成Playwright+pytest,覆盖率从20%提到96%,回归时间缩短90%
前端·css
kyriewen9 小时前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
名字还没想好☜9 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
Loveyourself10 小时前
cc压缩机制之-toolResultBudget源码解读
面试
飘尘11 小时前
一文讲清楚前端面试会问到的所有缓存
前端·javascript·面试
ThsPool11 小时前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
windliang12 小时前
Claude Code 源码分析(五):一次 Tool 调用怎样通过权限检查
前端·人工智能·面试
张元清13 小时前
React useDisclosure Hook:管理模态框和抽屉的打开关闭状态 (2026)
javascript·react.js
天天码行空13 小时前
vkeyboardhand:零依赖虚拟键盘指法组件
前端·javascript·vue.js