专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

史上最全的web前端面试题汇总及答案Html&Css(一)

ins518 2024-09-18 17:56:25 技术文章 30 ℃ 0 评论

作者:樱桃小丸子儿

来源:https://www.jianshu.com/p/2f7eb1ad7174

很早之前就在看web前端面试题,一直想总结一个比较全面又详细的面试题库,现在总结了一些,分享给大家,以后还会持续更新,有些题目有多种答案,本文只给出其中一种,哪里有问题的欢迎指出。

Html&CSS

1、谈谈你对web标准的理解

web标准的理解

2、列举html中至少三个实体

&amp、&nbsp 、&lt、&gt、&reg、&copy

详细请看w3schoolHTML实体符号参考手册

w3schoolHTML实体符号参考手册

3、cellpadding与cellspacing有何区别?

cellpadding:代表单元格边框到内容之间的距离(留白)

cellspacing:cellspacing属性用来指定表格各单元格之间的空隙。此属性的参数值是数字,表示单元格间隙所占的像素点数。

4、CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有哪些?

1.id选择器( # myid)

2.类选择器(.myclassname)

3.标签选择器(div, h1, p)

4.相邻选择器(h1 + p)

5.子选择器(ul > li)

6.后代选择器(li a)

7.通配符选择器( *)

8.属性选择器(a[rel = "external"])

9.伪类选择器(a: hover, li: nth - child)

**可继承的样式: **

font-size font-family color, UL LI DL DD DT;

不可继承的样式:

border padding margin width height

优先级

优先级就近原则,同权重情况下样式定义最近者为准,载入样式以最后载入的定位为准;

优先级为:

!important > id > class > tag

important 比 内联优先级高

CSS3新增伪类举例

p:first-of-type 选择属于其父元素的首个<p> 元素的每个<p>元素。

p:last-of-type 选择属于其父元素的最后 <p>元素的每个<p>元素。

p:only-of-type 选择属于其父元素唯一的<p>元素的每个<p>元素。

p:only-child 选择属于其父元素的唯一子元素的每个<p>元素。

p:nth-child(2) 选择属于其父元素的第二个子元素的每个<p>元素。

:enabled :disabled 控制表单控件的禁用状态。

:checked 单选框或复选框被选中。

5、display与visibility有何异同?

display可以有很多值,visibility只有两个常用值:visible、hidden。

当display为none、visibility为hidden时都会隐藏元素。但display会隐藏掉元素空间,visibility会保留元素空间。

6、怎么在网页中实现绝对定位?

absolute

绝对定位与相对定位

7、table-layout、border-collapse有何用途?

①table-layout:设置表格是否自动调整宽高

②border-collapse:表格与单元格及单元格间的边框是否融合在一起。

8、简述盒模型

简述盒模型

9、链接标记target属性的_top、_parent、_blank、main、left、top各有何用处?

链接标记target与Dom,Bom

10、你对浏览器兼容怎么看?通常你都做哪些处理?

浏览器的兼容性

11、get和post的区别?

GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符

POST:一般用于修改服务器上的资源,对所发送的信息没有限制。

GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。

然而,在以下情况中,请使用 POST 请求:

①无法使用缓存文件(更新服务器上的文件或数据库)向服务器发送大量数据(POST 没有数据量限制)。

②发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠。

12、xhtml和html有什么区别

①HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言

②最主要的不同:

XHTML 元素必须被正确地嵌套。

XHTML 元素必须被关闭。

标签名必须用小写字母。

XHTML 文档必须拥有根元素。

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

行内元素和块级元素的区别是什么?行内块元素的兼容性使用?(IE8 以下)

块级元素:div p h1 h2 h3 h4 form ul ol dl dt dd

行内元素: a b br i span input select image strong(强调的语气)

常见空元素:

<br>/<hr>/<img>/<input>/<link>/<meta>

不常见空元素:

<area>/<base>/<col>/<command>/<embed>/<keygen>/<param>/<source>/<track>/<wbr>

行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效。

块级元素:各占据一行,垂直方向排列。从新行开始结束接着一个断行。

兼容性:

display:inline-block;*display:inline;*zoom:1;

14、CSS引入的方式有哪些? link和@import的区别是?

CSS引入的方式包括内联 内嵌 外链 导入

link和@import的区别是 :

①link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;而@import是CSS提供的,只能用于加载CSS;

②页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;

③import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题;

④后者优先级更高

15、你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?介绍一下你对浏览器内核的理解

Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opera(blink)

对内核的理解:

主要分成两部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎。

①渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。

②JS引擎:解析和执行javascript来实现网页的动态效果。

最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。

16、解释css sprites,如何使用。

Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量。

适用于以下情况:

①静态图片,不随用户信息的变化而变化

②小图片,图片容量比较小

③加载量比较大

17、清除浮动的几种方式,各自的优缺点

(1)父级div定义height。

(2)结尾处加空div标签clear:both。

(3)父级div定义伪类:after和zoom。

(4)父级div定义overflow:hidden。

(5)父级div定义overflow:auto。

(6)父级div也浮动,需要定义宽度。

(7)父级div定义display:table。

(8)结尾处加br标签clear:both。

比较好的是第3种方式,好多网站都这么用。

18、Doctype作用?标准模式与兼容模式各有什么区别?

①<!DOCTYPE>告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。

②标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

注意点:

HTML5 只需要写<!DOCTYPEHTML>不需要对DTD进行引用,因为HTML5不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。

而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。

19、iframe有哪些缺点?

①iframe会阻塞主页面的Onload事件,搜索引擎的检索程序无法解读这种页面,不利于SEO;

②iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。

使用iframe之前需要考虑这两个缺点。如果需要使用iframe,最好是通过javascript动态给iframe添加src属性值,这样可以绕开以上两个问题。

20、如何实现浏览器内多个标签页之间的通信?

①通过WebSocket、SharedWorker来实现;

②也可以调用localstorge、cookies等本地存储方式。

localstorge另一个浏览上下文(另一个标签页)里被添加、修改或删除时,它都会触发一个事件,我们通过监听事件,控制它的值来进行页面信息通信。

注意quirks:Safari 在无痕模式下设置localstorge值时会抛出 QuotaExceededError 的异常。

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

①map+area或者svg

②border-radius

③纯js实现 需要求一个点在不在圆上简单算法、获取鼠标坐标等等

22、CSS3有哪些新特性?

① CSS3实现圆角(border-radius:8px),阴影(box-shadow:10px);

② 对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform);

③ transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);

//旋转,缩放,定位,倾斜

④ 增加了更多的CSS选择器 多背景 rgba

CSS3新增属性

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表