当前位置: 首页 > news >正文

2024前端面试准备-HTMLCSS

重头回顾一下知识

HTML面试题


1.怎么理解HTML语义化
让人更容易读懂(增加代码可读性),让搜索引擎更容易读懂(SEO)
2.默认情况下哪些是块元素,哪些是内联元素
块元素: display:block/table; 有dev、h1、h2、table、ul、ol、p等.
内联元素: display:inline/inline-block;有span、img、input、button等.
3. src和href的区别?
src:指向外部资源的位置,指向的内容将被加载到当前标签的位置,例如:img、js等、当浏览器加载到该元素是,会暂停其他资源的处理,直至将该资源处理完毕,这也是为什么将js放入底部的原因。
href: 指向网络资源所在的位置,建立和当前元素的直接的链接,加载该类资源不会停止对当前文档的处理。例如 用link标签加载css文件。
4. DOCTYPE(⽂档类型) 的作⽤
DOCTYPE是文档类型声明,它的目的是告诉浏览器应该以什么文档类型来解析文档,不同的渲染模式会影响浏览器对页面和脚本的解析,必须声明在第一行。
浏览器的渲染模式有两种,

  • 标准模式是默认模式,W3C的标准来解析渲染页面,浏览器以其支持的最高标准呈现页面。
  • 混杂模式,页面以一种比较宽松的向后兼容的方式显示。

5. script标签中defer和async的区别
script标签如果没有这两个标识,浏览器会立即加载并执行相应的脚步,会阻塞后续文档的价值。
defer和async都是异步加载,不会阻塞当前文档的加载,常用于加载外部脚本。区别点就是defer一般用于与DOM有关系的脚本,脚本会在dom渲染完之后执行,多个defer标识的脚步会按解析顺序执行,async标识一般用于加载第三方脚本,脚本会在下载完之后立即执行,多个async标识不能保证加载的顺序,谁先加载完谁先执行。

6.隐藏元素的方法有哪些
display:none、visibility:hidden、absolute移除可见范围、opacity:0透明的、z-index负值、transfrom:scale(0,0) 缩放;

7.link和@import的区别

  • link是XHTML标签,除了加载CS还可以加在其他事务;@import属于CSS范畴,只能加载CSS;
  • link引用CSS时候,在页面加载时同时加载,@import需要页面完全载入后加载。

CSS面试题


布局相关

1.盒模型宽度计算
offsetWidth = (内容宽度 + 内边距 + 边框), 无外边距
box-sizing: boerder-box; width = offetwidth
2.margin纵向重叠问题
相邻元素的margin-top盒margin-bottom会发生重叠
空白内容的

也会重叠
3.margin负值问题
margin-top盒margin-left设置负值,元素会向上或向左移动
margin-right负值,右侧元素往左移,自身不受影响
margin-bottom负值,下方元素上移,自身不受影响
4.BFC理解与应用
Block format content, 块级格式化上下文
一块独立渲染区域,内部元素的渲染不会影响边界以外的元素
BFC应用: 清除浮动
BFC形成条件:
  • float不是none
  • display是 flex inline-block等
  • position是absolute或者fixed
  • overflow不是visible

5.float布局 圣杯布局和双飞翼布局的
圣杯布局和双飞翼布局的技术总结:
使用float 布局
两侧使用 margin 负值,以便和中间内容横向重叠, 防止中间内容被两侧覆盖,圣杯布局用 padding 双飞翼用 margin
6.手写clearfix

.clearfix:after{content: '';display: table;clear: both;
}
.clearfix{*zoom:1; /*兼容IE低版本*/
}

7.flex布局

flex-direction : 主轴方向.

justify-content : 主轴对齐方式

align-items 其他轴对齐方式

flex-wrap 换行

align-self 字元素


定位相关

1.absolute 和 relative 分别依据什么定位?
relative 依据自身定位,不会影响外界元素,
absolute 依据最近一层的定位元素

2.居中对齐有哪些实现方式
水平居中:
inline元素: text-align:center;
block元素: margin:auto;
absolute元素: left:50%+magin-left负值50%
垂直居中:
inline元素: line-height 的值等于height值
absolute元素: top:50%+magin-top负值50%
absolute元素: transform(-50%,-50%)
absolute元素: top, left,bottom,right = 0 + margin:auto;

图文样式

1.line-height如何继承?
如果是具体数值, 如30px, 则继承该值
如果是比例,如2/1.5, 则继承该比例
如果是百分百,如200%,则继承计算出来的值

响应式

1.rem
px是绝对长度单位;em相对长度单位,相对于父元素;rem是一个相对长度单位,相对于根元素;
缺点: 具有阶梯性
2.响应式布局的常见方案
media-query 根据不同屏幕宽度设置根元素font-size, 单位采用rem方式

其他

1.display:none与visibility:hidden的区别
两个属性都是让元素隐藏不可见;
display:none会让元素在渲染树中消失,子孙节点跟着父节消失,修改常规文档流时会造成文档的重排。
visibility:hidden不会让元素在渲染树中消失,子孙节点会继承该属性,渲染的元素还会占据空间,只是内容不现实,通过属性设置可以让子孙节点显示;它会造成本元素的重绘;
**2.为什么有时候⽤translate来改变位置⽽不是定位? **
translate不会触发浏览器重新布局或者重绘,效率更高。
3.CSS 优化和提高性能的方法有哪些?

  • 压缩css减小体积、使用link标签加载、
  • 遵循编码规范、减少高性能属性浮动定位的使用、属性值设置为0不要带单位等
  • 相对属性的样式做抽离,通过class在页面中使用

4.Sass、Less 是什么?为什么要使用他们?
他们都是CSS预处理器,是 CSS 上的一种抽象层。他们是一种特殊的语法/语言编译成 CSS。 例如 Less 是一种动态样式语言,将 CSS 赋予了动态语言的特性,如变量,继承,运算, 函数,LESS 既可以在客户端上运行 (支持 IE 6+, Webkit, Firefox),也可以在服务端运行 (借助 Node.js)。

相关文章:

  • AnythingLLM 的 Docker 使用
  • mysql (事物)
  • java计算年化利率
  • 智能合约漏洞类型
  • MySQL之查询性能优化(十一)
  • ffmpeg实现视频播放 ----------- Javacv
  • WebGL开发时尚设计系统
  • 一文讲清:生产报工系统的功能、报价以及如何选择
  • zerotier自建moon方法
  • Less的简单总结
  • bugku---misc---ping
  • 第十五届蓝桥杯大赛 国赛 pb组F题【括号与字母】(15分) 栈的应用
  • Accelerate之大模型显存计算
  • 防止连续点击按钮,多次调用接口
  • 俄语演讲开场白,柯桥外贸俄语培训
  • Android开源项目规范总结
  • ECS应用管理最佳实践
  • Iterator 和 for...of 循环
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript DOM 10 - 滚动
  • js对象的深浅拷贝
  • MySQL的数据类型
  • redis学习笔记(三):列表、集合、有序集合
  • SQLServer插入数据
  • Tornado学习笔记(1)
  • Vue ES6 Jade Scss Webpack Gulp
  • Vue2.x学习三:事件处理生命周期钩子
  • vue-cli3搭建项目
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 分布式事物理论与实践
  • 模型微调
  • 前端存储 - localStorage
  • 思考 CSS 架构
  • 赢得Docker挑战最佳实践
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • # Java NIO(一)FileChannel
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (007)XHTML文档之标题——h1~h6
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (十一)图像的罗伯特梯度锐化
  • (一)基于IDEA的JAVA基础10
  • (转)项目管理杂谈-我所期望的新人
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .net core 6 集成和使用 mongodb
  • .Net FrameWork总结
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 解决重复提交问题
  • .NET 设计模式—适配器模式(Adapter Pattern)