首页技术css布局面试题?vue3面试题

css布局面试题?vue3面试题

编程之家2026-06-081075次浏览

大家好,如果您还对css布局面试题不太了解,没有关系,今天就由本站为大家分享css布局面试题的知识,包括vue3面试题的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

css布局面试题?vue3面试题

Web前端面试的常见面试题汇总

今天小编要跟大家分享的文章是关于参加Web前端面试的常见面试题汇总。准备参加Web前端面试的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。

1.渐进增强与优雅降级

渐进增强

并不是一种技术,而是一种设计思想。各个浏览器的渲染能力各不相同,要做一个每个人都能看到的网页、感受到的体验都一致的网站几乎不可能。但还是得网站的可访问性,保证用户在任何环境下都能正常访问网页得核心内容或能使用基本功能(避免网页打不开、排版错误等),并为他们提供当前条件下最好的体验,这就是渐进增强得核心思想。

优雅降级也是一种设计思想,为了保证在高版本浏览器中提供最好的体验,碰到低版本浏览器再降级进行兼容处理,使其能正常浏览。

这两种思想的区别在于:

css布局面试题?vue3面试题

1.渐进增强是向上兼容,优雅降级是向下兼容;

2.渐进增强是从简单到复杂,优雅降级是从复杂到简单;

3.渐进增强关注的是内容(保证核心内容),优雅降级关注的是浏览体验(为了兼容低版本浏览器)

2.DOCTYPE

作用

DTD(DocumentTypeDefinition,文档类型定义)是一系列的语法规则,用来定义XML或(X)HTML

css布局面试题?vue3面试题

的文档类型。浏览器会使用它来判断文档类型,决定何种协议来解析,以及切换浏览模式。

DOCTYPE是用来声明文档类型和DTD

规范的,一个主要的用途便是文件的合法性验证。如果文档代码不合法,那么浏览器解析时便会出现一些差错。

HTML5的文档类型声明:

HTML4.01Strict(HTML4.01严格模式)的DTD包含所有HTML

元素和属性,但不包括展示性的和弃用的元素(如font),它的文档类型声明:

"">

标准模式与怪异模式

怪异模式(Quirks

Mode)用于模拟旧浏览器的行为。早期的网站并不会遵循完整的规范,随着浏览器支持越来越多的规范,在那些旧的浏览器中开发的页面在显示时会被破坏。为了向后兼容,浏览器发明了怪异模式,一行错误或无效的

DOCTYPE都会触发怪异模式。

浏览器使用文件开头的DOCTYPE来决定用怪异模式处理或标准模式处理。DOCTYPE

可以确保不同浏览器以相同的方式解析文档,以及执行相同的渲染模式。

怪异模式与标准模式的主要区别:

1.怪异模式的宽度和高度会包含padding和border。标准模式不包含,标准模式下可以通过设置box-sizing:

border-box将标准盒模型转化成怪异模式下的盒模型。

2.怪异模式下,当内容超出容器高度时,会将容器拉伸,而不是溢出。

3.怪异模式下,在表格中的字体样式(如font-size)不会继承。

4.怪异模式下颜色值必须使用十六进制标记法。

3.语义化

HTML5

中的语义化就是让元素、属性或属性值有含义,更准确地标记特定类型的内容。对元素语义化的目的是为了让元素的语义和呈现分离,元素只负责文档内容的结构与含义,而CSS

样式控制内容的呈现,像元素,没有语义但却能将字体变粗,这类元素违背了语义化的目的,将会被废弃。

优点

·使得HTML文档结构清晰、布局合理、主体突出、可读性更强。

·有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。

·方便其他设备解析,如盲人阅读器根据语义渲染网页。

·有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐。

语义化标签

·定义文档的页眉区域,应作为介绍内容或者导航链接栏的容器;

·footer内容的页脚,通常包含该章节作者、版权数据或者与文档相关的链接等信息;

·article

文档、页面、应用或网站中的独立结构,是可独立分配的、可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目;

·nav描述一个含有多个超链接的区域,该区域包含跳转到其他页面或页面内部其他部分的链接列表;

·section表示文档中的一个区域(或节),比如,内容中的一个专题组;

·main定义文档的主要内容,该内容在文档中应当是独一无二的,不包含任何在文档中重复的内容,比如侧边栏,导航栏链接,版权信息,网站

logo,搜索框(搜索框作为文档的主要内容);

·aside

表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分且可以被单独的拆分出来而不会影响整体。通常表现为侧边栏或嵌入内容。

4.超链接伪类

:link、:visited、:active和:hover的声明顺序是怎样的?

:link表示未访问的链接状态;

:visited表示已访问状态;:active表示激活状态(鼠标按下);:hover表示悬停状态。

推荐顺序是LVHA,即:link:visited:hover:active。理由如下:

·当鼠标悬停在未访问的链接上时,:link和:hover都会命中,如果:hover在:link

之前声明,那么(:hover)就会被覆盖;

·当鼠标悬停在已访问的连接上时,:visited和:hover都会命中,如果:hover在:visited

之前声明,那么(:hover)就会被覆盖;

·当鼠标单击链接时,:active和:hover都会命中,我们大多是想让:hover只在悬停时展示样式,按下鼠标时使用:active

样式,因此:active在:hover之后声明;

·综上,:hover应在:link和:visited之后,在:active之前,因此active在最后。而:link和

:visited两者的顺序无所谓,互不影响。

5.CSS常见的长度单位

CSS中除了px长度单位之外,还有下面几个长度单位:

·pc六分之一英寸,1pc=12pt=1/6*1in=16px;

·pt一磅,72分之一英寸。1pt=1/12_1pc=1/72_1in≈1.33px;

·in一英寸,1in=2.54cm=96px;

·ex在含有“X”字母的字体中,它是该字体的小写字母的高度。对于很多字体来说,1ex≈0.5em;

·em1em等于父级元素的字体大小,2em就是父级元素字体大小的二倍;

·rem当用在根元素()的font-size上面时,它代表了它的初始值;

·ch代表元素所用字体font中“0”这一字形的宽度;

·vh1vh相当于视口高度的1%,100vh就是视口的高度;

·vw1vw相当于视口宽度的1%,100vw就是视口的宽度;

·vmax视口高度vw和宽度vh两者中的最小值

·vmin视口高度vw和宽度vh两种中的最大值;

·%相对于父级元素的大小来确定;

参考:CSS[1]

CSSpercentage[2]

6.事件对象

冒泡与捕获

事件冒泡与捕获是事件处理的两种机制,主要描述当在一个元素上有两个相同类型的事件处理器被激活会发生什么。

在点击子元素时,浏览器运行了两种不同的阶段:捕获阶段和冒泡阶段。捕获阶段的行为:

·浏览器检查元素的最外层祖先,是否在捕获阶段中注册了一个onclick事件处理程序,如果是,则运行它;

·

然后,它移动到中单击元素的下一个祖先元素,并执行相同的操作,然后是单击元素再下一个祖先元素,依此类推,直到到达实际点击的元素;

而冒泡与捕获恰恰相反:

·浏览器检查实际点击的元素是否在冒泡阶段中注册了一个onclick事件处理程序,如果是,则运行它;

·然后它移动到下一个直接的祖先元素,并做同样的事情,然后是下一个,等等,直到它到达元素;

而现代浏览器在默认情况下,所有事件处理程序都在冒泡阶段进行注册。因此上面代码在点击子元素时会先执行子元素绑定的事件,然后向上冒泡,触发父元素绑定的事件。

addEventListener函数的第三个参数是个布尔值。含义:

·当布尔值是false时(这也是默认值),表示向上冒泡触发事件;

·当布尔值是true时,表示向下捕获触发事件;

不能冒泡的事件

有些事件是不会冒泡的。比如:

·blur元素失去焦点时触发,focusout事件也是失去焦点时触发,但可以冒泡;

·focus元素获取焦点时触发;

·mouseenter鼠标移动到元素上时会触发该事件,与之对应的是mouseover事件,但会冒泡;

·mouseleave鼠标离开元素时触发,与之对应的是mouseout,但会冒泡;

事件冒泡可以让我们利用事件委托,尤其是处理大量子元素时,如果给每个子元素都绑定事件,这是不优雅的,可以将事件绑定到父元素上,并让子节点上发生的事件冒泡到父节点上,利用

e.target属性可以获取到当前触发事件的子元素。

事件对象中的方法

·stopPropagation()阻止事件冒泡,当设置后,点击该元素时父元素绑定的事件就不会再触发;

·preventDefault()阻止默认事件的发生;

·stopImmediatePropagation()它用来阻止监听同一事件的其他事件监听器被调用以及阻止事件冒泡,比如给同一个div

元素绑定多个click事件(使用addEventListener方法可以注册多个),当在第二个事件函数中调用

stopImmediatePropagation方法时,点击div元素时,后面注册的click将不会被触发,而且还会阻止事件冒泡;

比如下面的例子,给p绑定多个click事件,在第二个事件函数中调用stopImmediatePropagation,第三个click

事件就不会触发,因为也阻止了冒泡,因此父元素的click事件也不会触发。

paragraph

面试网页设计有哪些问题

一、网页设计面试的经典问题及答题思路:

问题一:“请你自我介绍一下”

思路:

1、这是面试的必考题目。

2、介绍内容要与个人简历相一致。

3、表述方式上尽量口语化。

4、要切中要害,不谈无关、无用的内容。

5、条理要清晰,层次要分明。

6、事先最好以文字的形式写好背熟。

回答要点:用10秒钟简单说说个人资料即可。用一分半钟左右时间介绍你以前从事的工作,和所获得的经验。再用一分钟左右时间描述你以前的工作经验对应聘的这份职位来说有那些帮助。

问题二:“谈谈你的家庭情况”

思路:

1、况对于了解应聘者的性格、观念、心态等有一定的作用,这是招聘单位问该问题的主要原因。

2、简单地罗列家庭人。

3、宜强调温馨和睦的家庭氛围。

4、宜强调父母对自己教育的重视。

5、宜强调各位家庭成员的良好状况。

6、宜强调家庭成员对自己工作的支持。

7、宜强调自己对家庭的责任感。

问题三:“你有什么业余爱好?”

思路:

1、业余爱好能在一定程度上反映应聘者的性格、观念、心态,这是招聘单位问该问题的主要原因。

2、最好不要说自己没有业余爱好。

3、不要说自己有那些庸俗的、令人感觉不好的爱好。

4、最好不要说自己仅限于读书、听音乐、上网,否则可能令面试官怀疑应聘者性格孤僻。

5、最好能有一些户外的业余爱好来“点缀”你的形象。

问题四:“你最崇拜谁?”

思路:

1、最崇拜的人能在一定程度上反映应聘者的性格、观念、心态,这是面试官问该问题的主要原因。

2、不宜说自己谁都不崇拜。

3、不宜说崇拜自己。

4、不宜说崇拜一个虚幻的、或是不知名的人。

5、不宜说崇拜一个明显具有负面形象的人。

6、所崇拜的人人最好与自己所应聘的工作能“搭”上关系。

7、最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己。

问题五:“你的座右铭是什么?”

思路:

1、座右铭能在一定程度上反映应聘者的性格、观念、心态,这是面试官问这个问题的主要原因。

2、不宜说那些医引起不好联想的座右铭。

3、不宜说那些太抽象的座右铭。

4、不宜说太长的座右铭。

5、座右铭最好能反映出自己某种优秀品质。

6、参考答案——“只为成功找方法,不为失败找借口”

二、面试的注意事项:

(1)一旦和用人单位约好面试时间后,一定要提前5-10分钟到达面试地点,以表示求职者的诚意,给对方以信任感,同时也可调整自己的心态,作一些简单的仪表准备,以免仓促上阵,手忙脚乱。为了做到这一点,一定要牢记面试的时间地点,有条件的同学最好能提前去一趟,以免因一时找不到地方或途中延误而迟到。如果迟到了,肯定会给招聘者留下不好的印象,甚至会丧失面试的机会。

(2)进入面试场合时不要紧张。如门关着,应先敲门,得到允许后再进去。开关门动作要轻,以从容、自然为好。见面时要向招聘者主动打招呼问好致意,称呼应当得体。在用人单位没有请你坐下时,切勿急于落座。用人单位请你坐下时,应道声“谢谢”。坐下后保持良好体态,切忌大大咧咧,左顾右盼,满不在乎,以免引起反感。离去时应询问“还有什么要问的吗”,得到允许后应微笑起立,道谢并说“再见”。

(3)对用人单位的问题要逐一回答。对方给你介绍情况时,要认真聆听。为了表示你已听懂并感兴趣,可以在适当的时候点头或适当提问、答话。回答主试者的问题,口齿要清晰,声音要适度,答话要简练、完整。一般情况下不要打断用人单位的问话或抢问抢答,否则会给人急躁、鲁莽、不礼貌的印象。问话完毕,听不懂时可要求重复。当不能回答某一问题时,应如实告诉用人单位,含糊其辞和胡吹乱侃会导致面试失败。对重复的问题也要有耐心,不要表现出不耐烦。

(4)在整个面试过程中,在保持举止文雅大方,谈吐谦虚谨慎,态度积极热情。如果用人单位有两位以上主试人时,回答谁的问题,你的目光就应注视谁,并应适时地环顾其他主试人以表示你对他们的尊重。谈话时,眼睛要适时地注意对方,不要东张西望,显得漫不经心,也不要眼皮低望,显得缺乏自信,激动地与用人单位争辩某个问题也是不明智的举动,冷静地保持不卑不亢的风度是有益的。有的用人单位专门提一些无理的问题试探你的反应,如果处理不好,容易乱了分寸,面试的效果显然不会理想。

Web前端岗位面试题有哪些

前端面试题汇总,基本上会有四大类问题,具体如下:

一、HTML

1、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

2、HTML5为什么只需要写<!DOCTYPE HTML>?

3、行内元素有哪些?块级元素有哪些?空(void)元素有那些?

4、页面导入样式时,使用link和@import有什么区别?

5、介绍一下你对浏览器内核的理解?

6、常见的浏览器内核有哪些?

7、html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML和 HTML5?

8、简述一下你对HTML语义化的理解?

9、HTML5的离线储存怎么使用,工作原理能不能解释一下?

10、浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?

11、请描述一下 cookies,sessionStorage和 localStorage的区别?

12、iframe有那些缺点?

13、Label的作用是什么?是怎么用的?(加 for或包裹)

14、HTML5的form如何关闭自动完成功能?

15、如何实现浏览器内多个标签页之间的通信?(阿里)

16、webSocket如何兼容低浏览器?(阿里)

17、页面可见性(Page Visibility)API可以有哪些用途?

18、如何在页面上实现一个圆形的可点击区域?

19、实现不使用 border画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。

20、网页验证码是干嘛的,是为了解决什么安全问题?

21、tite与h1的区别、b与strong的区别、i与em的区别?

二、css

1、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?

2、CSS选择符有哪些?哪些属性可以继承?

3、CSS优先级算法如何计算?

4、CSS3新增伪类有那些?

5、如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?

6、display有哪些值?说明他们的作用。

7、position的值relative和absolute定位原点是?

8、CSS3有哪些新特性?

9、请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?

10、用纯CSS创建一个三角形的原理是什么?

11、一个满屏品字布局如何设计?

三、常见兼容性问题?

1、li与li之间有看不见的空白间隔是什么原因引起的?有什么解决办法?

2、经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧?

3、为什么要初始化CSS样式。

4、absolute的containing block计算方式跟正常流有什么不同?

5、CSS里的visibility属性有个collapse属性值是干嘛用的?在不同浏览器下以后什么区别?

6、position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?

7、对BFC规范(块级格式化上下文:block formatting context)的理解?

8、CSS权重优先级是如何计算的?

9、请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式

10、移动端的布局用过媒体查询吗?

11、使用 CSS预处理器吗?喜欢那个?

12、CSS优化、提高性能的方法有哪些?

13、浏览器是怎样解析CSS选择器的?

14、在网页中的应该使用奇数还是偶数的字体?为什么呢?

15、margin和padding分别适合什么场景使用?

16、抽离样式模块怎么写,说出思路,有无实践经验?[阿里航旅的面试题]

17、元素竖向的百分比设定是相对于容器的高度吗?

18、全屏滚动的原理是什么?用到了CSS的那些属性?

19、什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?

20、视差滚动效果,如何给每页做不同的动画?(回到顶部,向下滑动要再次出现,和只出现一次分别怎么做?)

21、::before和:after中双冒号和单冒号有什么区别?解释一下这2个伪元素的作用。

22、如何修改chrome记住密码后自动填充表单的黄色背景?

23、你对line-height是如何理解的?

24、设置元素浮动后,该元素的display值是多少?(自动变成display:block)

25、怎么让Chrome支持小于12px的文字?

26、让页面里的字体变清晰,变细用CSS怎么做?(-webkit-font-smoothing: antialiased;)

27、font-style属性可以让它赋值为“oblique” oblique是什么意思?

28、position:fixed;在android下无效怎么处理?

29、如果需要手动写动画,你认为最小时间间隔是多久,为什么?(阿里)

30、display:inline-block什么时候会显示间隙?(携程)

31、overflow: scroll时不能平滑滚动的问题怎么处理?

32、有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。

33、png、jpg、gif这些图片格式解释一下,分别什么时候用。有没有了解过webp?

34、什么是Cookie隔离?(或者说:请求资源的时候不要让它带cookie怎么做)

35、style标签写在body后与body前有什么区别?

四、JavaScript

1、介绍JavaScript的基本数据类型。

2、说说写JavaScript的基本规范?

3、JavaScript原型,原型链?有什么特点?

4、JavaScript有几种类型的值?(堆:原始数据类型和栈:引用数据类型),你能画一下他们的内存图吗?

5、Javascript如何实现继承?

6、Javascript创建对象的几种方式?

7、Javascript作用链域?

8、谈谈This对象的理解。

9、eval是做什么的?

10、什么是window对象?什么是document对象?

11、null,undefined的区别?

12、写一个通用的事件侦听器函数(机试题)。

13、[“1”,“2”,“3”].map(parseInt)答案是多少?

14、关于事件,IE与火狐的事件机制有什么区别?如何阻止冒泡?

15、什么是闭包(closure),为什么要用它?

16、javascript代码中的”use strict”;是什么意思?使用它区别是什么?

17、如何判断一个对象是否属于某个类?

18、new操作符具体干了什么呢?

19、用原生JavaScript的实现过什么功能吗?

20、Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

21、对JSON的了解?

22、[].forEach.call($$("*"),function(a){ a.style.outline="1px solid#"+(~~(Math.random()*(1<<24))).toString(16)})能解释一下这段代码的意思吗?

23、js延迟加载的方式有哪些?

24、Ajax是什么?如何创建一个Ajax?

25、同步和异步的区别?

26、如何解决跨域问题?

27、页面编码和被请求的资源编码如果不一致如何处理?

28、模块化开发怎么做?

29、AMD(Modules/Asynchronous-Definition)、CMD(Common Module

Definition)规范区别?

30、requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何缓存的?)

31、让你自己设计实现一个requireJS,你会怎么做?

32、谈一谈你对ECMAScript6的了解?

33、ECMAScript6怎么写class么,为什么会出现class这种东西?

34、异步加载的方式有哪些?

35、documen.write和 innerHTML的区别?

36、DOM操作——怎样添加、移除、移动、复制、创建和查找节点?

37、.call()和.apply()的含义和区别?

38、数组和对象有哪些原生方法,列举一下?

39、JS怎么实现一个类。怎么实例化这个类

40、JavaScript中的作用域与变量声明提升?

41、如何编写高性能的Javascript?

42、那些操作会造成内存泄漏?

43、JQuery的源码看过吗?能不能简单概况一下它的实现原理?

44、jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?

45、jquery中如何将数组转化为json字符串,然后再转化回来?

46、jQuery的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?

47、jquery.extend与 jquery.fn.extend的区别?

48、jQuery的队列是如何实现的?队列可以用在哪些地方?

49、谈一下Jquery中的bind(),live(),delegate(),on()的区别?

50、JQuery一个对象可以同时绑定多个事件,这是如何实现的?

51、是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?

52、jQuery是通过哪个方法和 Sizzle选择器结合的?(jQuery.fn.find()进入Sizzle)

53、针对 jQuery性能的优化方法?

54、Jquery与jQuery UI有啥区别?

55、JQuery的源码看过吗?能不能简单说一下它的实现原理?

56、jquery中如何将数组转化为json字符串,然后再转化回来?

57、jQuery和Zepto的区别?各自的使用场景?

58、针对 jQuery的优化方法?

59、Zepto的点透问题如何解决?

60、jQueryUI如何自定义组件?

61、需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?

62、如何判断当前脚本运行在浏览器还是node环境中?(阿里)

63、移动端最小触控区域是多大?

64、jQuery的 slideUp动画,如果目标元素是被外部事件驱动,当鼠标快速地连续触发外部元素事件,动画会滞后的反复执行,该如何处理呢?

65、把 Script标签放在页面的最底部的body封闭之前和封闭之后有什么区别?浏览器会如何解析它们?

66、移动端的点击事件的有延迟,时间是多久,为什么会有?怎么解决这个延时?(click有 300ms延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)

67、知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么?能讲出他们各自的优点和缺点么?

68、Underscore对哪些 JS原生对象进行了扩展以及提供了哪些好用的函数方法?

69、解释JavaScript中的作用域与变量声明提升?

70、那些操作会造成内存泄漏?

71、JQuery一个对象可以同时绑定多个事件,这是如何实现的?

72、Node.js的适用场景?

(如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?

73、解释一下 Backbone的 MVC实现方式?

74、什么是“前端路由”?什么时候适合使用“前端路由”?“前端路由”有哪些优点和缺点?

75、知道什么是webkit么?知道怎么用浏览器的各种工具来调试和debug代码么?

76、如何测试前端代码么?知道BDD, TDD, Unit Test么?知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?

77、前端templating(Mustache, underscore, handlebars)是干嘛的,怎么用?

78、简述一下 Handlebars的基本用法?

79、简述一下 Handlerbars的对模板的基本处理流程,如何编译的?如何缓存的?

80、用js实现千位分隔符?(来源:前端农民工,提示:正则+replace)

检测浏览器版本版本有哪些方式?

81、我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

scanf的输入格式?scanf()的用法白色烟雾照明弹,彩色烟雾弹多少钱