作者:樱桃小丸子儿
来源:https://www.jianshu.com/p/2f7eb1ad7174
很早之前就在看web前端面试题,一直想总结一个比较全面又详细的面试题库,现在总结了一些,分享给大家,以后还会持续更新,有些题目有多种答案,本文只给出其中一种,哪里有问题的欢迎指出。
Html&CSS
1、谈谈你对web标准的理解
web标准的理解
2、列举html中至少三个实体
&、  、<、>、®、©
详细请看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新增属性
本文暂时没有评论,来添加一个吧(●'◡'●)