当前位置: 首页 > Web前端 > HTML

657页前端面试题+答案,分类学习整理,认真制作,持续更新~

时间:2023-04-02 11:38:15 HTML

注:用了一个多月的时间重新学习基础知识,经过学习整理总结,算是痛并快乐着。(欢迎提出问题和建议,采纳后附提议者姓名链接)HTML1.图片中的title和alt有什么区别?通常当鼠标滑过元素时,显示的alt是对图片内容的等效描述,用于图片无法加载时的显示,以及屏幕阅读器阅读图片。它可以提高图片的可访问性。除了纯粹的装饰图片,必须设置有意义的值,搜索引擎会重点分析。2、Html5有什么新特性,去掉了哪些元素新元素:媒体播放视频音频元素的绘画画布本地离线存储localStorage长期存储数据,关闭浏览器后数据不会丢失sessionStorage数据isclosedwhenthebrowserisclosed自动删除具有更好语义的内容元素,例如article,footer,header,nav,sectionformcontrols,calendar,date,time,email,url,search新技术webworker,websocket,Geolocation删除的元素:纯表达式元素:basefont、big、center、font、s、strike、tt、u对可用性有负面影响的元素:frame、frameset、noframes支持HTML5新标签:IE8/IE7/IE6支持通过文档生成的标签。createElement方法您可以使用此功能使这些浏览器支持HTML5新标签。浏览器支持新标签后,需要添加标签的默认样式。3、浏览器如何管理和加载Html5的离线存储资源?使用方法:页眉添加manifest属性如下;当写入cache.manifest文件,离线存储的资源离线,操作window.applicationCache实现线上需求,浏览器发现html头有manifest属性,就会请求manifest文件。如果是第一次访问app,浏览器会根据manifest文件的内容下载相应的资源并离线存储。如果应用被访问过并且资源已经离线存储,浏览器将使用离线资源加载页面,然后浏览器将新的清单文件与旧的清单文件进行比较,如果文件没有,则不执行任何操作changed,如果文件发生变化,文件中的资源将被重新下载并离线存储。4、src和href的区别src用于替换当前元素,href用于在当前文档和引用资源之间建立链接。src是source的缩写,指向外部资源的位置,指向的内容会嵌入到文档中当前标签的位置;当请求src资源时,它指向的资源将被下载并应用到文档中,例如js脚本、img图片浏览器解析到该元素时,将暂停其他资源的下载和处理,直到该资源加载完毕,编译并执行。图片、框架等元素也是如此,类似于将指向的资源嵌入到当前标签内。这也是为什么js脚本要放在底部而不是放在头部的原因href是HypertextReference的缩写,指向网络资源的位置,与当前元素(锚点)或当前文档(链接)建立链接.如果我们在文档中添加链接href="common.css"rel="stylesheet",浏览器就会将该文档识别为一个css文件,并会在不停止当前文档处理的情况下并行下载资源。这就是为什么推荐使用link方式加载css而不是@import方式的原因5.在标签上设置宽高和在canvas标签的样式中设置宽高有什么区别?图都在这上面。样式的宽度和高度是浏览器中呈现的画布的高度和宽度。如果画布的宽高没有指定或者数值不对,会被设置为默认值。6、浏览器如何管理和加载HTML5离线存储资源?在线时,浏览器在html头中找到manifest属性,就会请求manifest文件。如果是第一次访问app,浏览器会根据manifest文件的内容下载相应的资源并离线存储。如果app被访问过,并且资源已经离线存储,浏览器会使用离线资源加载页面,然后浏览器会比较新的manifest文件和旧的manifest文件,如果文件没有变化,什么都不做,如果文件发生变化,文件中的资源会被重新下载并离线存储。离线时,浏览器直接使用离线存储的资源。7、Doctype的作用是什么?如何区分严格模式和混合模式?他们的意思是什么?声明在文档中首先出现,在html标记之前。告诉浏览器的解析器使用什么文档类型和规范来解析这个文档。严格模式的排版和JS运行方式是目前浏览器支持的最高标准。以混杂模式运行,页面以松散的向后兼容方式显示。模拟老式浏览器的行为,以防止网站无法正常工作。DOCTYPE的缺失或格式不正确将导致文档以混合模式呈现。自定义属性draggable:设置元素是否可拖动id:元素id,文档中唯一lang:元素内容的语言style:内联css样式title:元素相关的建议信息9.div+的布局是什么css相比tablelayout的好处是改版的时候更方便,只要改css文件就行。页面加载速度更快,结构清晰,页面展示简洁。表示与结构分离。易优化(seo)对搜索引擎更友好,更容易排名靠前。CSS篇一、CSS中link和@import的区别:@import是CSS提供的语法规则,只导入样式表;link是HTML提供的一个标签,它不仅可以加载CSS文件,还可以定义RSS和rel连接属性等。页面加载时,链接引入的CSS会同时加载,@import引入的CSS会在页面加载完成后加载。由于link标签是HTML元素,不存在兼容性问题,而@import是CSS2.1独有的语法,旧版本浏览器(IE5之前)无法识别。可以通过JS操作DOM插入链接标签改变样式;由于DOM方法是基于文档的,因此不能使用@import来插入样式。二、position的absolute和fixed的共同点和区别:共同点:1、改变内联元素的展示方式,display设置为block;2.让元素脱离正常流动,不占空间;3、默认会覆盖非定位元素的区别:可以设置绝对的“根元素”,而固定的“根元素”固定为浏览器窗口。当你滚动页面时,固定元素和浏览器窗口之间的距离是恒定的。3、BFC创建规则有什么用:根元素浮动元素(float不取none的值)绝对定位元素(position取absolute或fixed的值)display取inline-block、table-cell的值,table-caption,flex,inline-flex元素之一,overflow不取可见元素的值作用:可以包含浮动元素,不被浮动元素覆盖,防止父子元素的边距塌陷div标签clear:bothparentdiv定义伪类:afterandzoomparentdiv定义overflow:hiddenparentdiv也浮动,需要在width定义末尾加上br标签clear:both5.Css3newpseudo-class-pseudo-elementp:first-of-type选择作为其父元素的第一个

元素的每个

元素。p:last-of-type选择作为其父元素的最后一个

元素的每个

元素。p:only-of-type选择作为其父元素唯一的

元素的每个

元素。p:only-child选择每个

元素,该元素是其父元素的唯一子元素。p:nth-child(2)选择作为其父元素的第二个子元素的每个

元素。:enabled启用表单元素。:disabled禁用表单元素。:checked单选或复选框被选中。::before在元素之前添加内容。::after在元素后添加内容,也可用于清除浮动。::first-line为文本的第一个字母添加特殊样式。::first-letter在第一行添加一行特殊样式。我相信你也能看出它们之间的区别。伪类语法是one:,这是为了弥补css常规类选择器的不足。伪元素语法是两个:,是一个凭空创建的虚拟容器生成的元素。6.IE盒模型、W3C盒模型W3C盒模型:内容(content)、填充(padding)、边框(margin)、边框(border);box-sizing:content-boxwidth=内容宽度;IE框模型:IE的content部分把border和padding计算进去;box-sizing:border-boxwidth=border+padding+contentwidth7.display:inline-block什么时候不显示间隙?删除空格并为负值使用边距。使用字体大小:0字母间距字间距8。内联元素在float:left之后会变成块级元素吗?内联元素设置为float后,变得更像inline-block(内联块级元素,设置了该属性的元素将同时具有内联和块级特性,最明显的区别是它的默认宽度不是100%),这时候给行内元素设置padding-top和padding-bottom或者width和height才有效。9、不同CSS选择器的权重(CSS级联规则)!重要的规则是最重要的,比其他规则更重要。内联样式规则,选择器中给出的每个ID属性值加1000,选择器中给出的每个类属性、属性选择器或伪类选择器加100,选择器中给出的每个元素标签选择器加1。如果权重相同,则按照样式规则的顺序应用,顺序低的优先于前面的规则。10.stylus/sass/less的区别有“可变”、“混合”、“嵌套”、“继承”、“混色”五个基本特性Sass和LESS语法更严谨,LESS需要使用大括号”{}",Sass和Stylus可以通过缩进来表达层级Sass没有全局变量的概念,LESS和Stylus有一个类似于其他语言的作用域概念Sass基于Ruby语言,而LESS和Stylus可以基于NodeJSNPM下载对应库后编译;这也是为什么有时安装Sass会报错,需要安装python脚本的原因,以及scrollTop、offsetTop、clientTop的区别?clientHeight:表示可见区域的高度,不包括边框和滚动条offsetHeight:表示可见区域的高度,包括边框和滚动条scrollHeight:表示所有区域的高度,包括因滚动而隐藏的部分。clientTop:表示border边框的粗细。如果不指定,一般为0。scrollTop:滚动后的隐藏高度,获取对象相对于offsetParent属性指定的父坐标(css定位元素或body元素)从顶部算起的高度。2.js拖拽功能的实现首先是三个事件,分别是mousedown、mousemove、mouseup。clientX和clientY标识鼠标坐标,分别标识横坐标和纵坐标,我们用offsetX和offsetY表示元素的初始坐标。移动的例子应该是:鼠标移动时的坐标-鼠标按下时的坐标。也就是说定位信息为:鼠标移动时的坐标-鼠标按下时的坐标+元素初始状态下的offetLeft。还有一点也是一个原则,就是拖动的时候绝对定位。我们改的是绝对定位条件下的Left和top值。补充:也可以通过html5的拖拽(Draganddrop)实现。3、异步加载jsdefer的方法:只支持IE如果你的脚本不会改变文档的内容,可以在