HTML、CSS、JS面试题
1.JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?
警告窗口:alert 确认窗口:confirm 信息输入窗口:prompt
2.声明一个CSS有几种方式?
①导入一个已经存在的CSS文件:
<link rel="stylesheet" type="text/css" href="">
②直接在head里声明一个CSS代码段:
<style type="text/css">
……
</style>
③直接在元素里声明使用CSS:
style=";"
④在CSS文件中导入另一个CSS样式文件:
@import url("CSS路径)
-
3.常见的浏览器内核有哪些?
- Trident内核:IE,MaxThon,TT,The Word,360,搜狗浏览器等。[又称为MSHTML]
- Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等;
- Presto内核:Opera7及以上。[Opera内核原为:Presto,现为:Blink]
- Webkit内核:Safari,Chrome等。[Chrome的:Blink(Webkit的分支)]
4.行内元素、块级元素,空元素有那些
1、行内元素:span、a、em(强调)、label、textarea、select、sub、sup等
2、块级元素:div、ul、ol、li、h1~h6、table、form、p、dl、dd、dt等。
3、空元素:br、hr
5.div+css的布局较table布局有什么优点?
改版的时候更方便 只要改css文件。
页面加载速度更快、结构化清晰、页面显示简洁。
表现与结构相分离。
易于优化(seo)搜索引擎更友好,排名更容易靠前。
6.a:img的alt与title有何异同?b:strong与em的异同?
答案:
a:
alt(alt text):为不能显示图像、窗体或applets的用户代理(UA),alt属性用来指定替换文字。替换文字的语言由lang属性指定。(在IE浏览器下会在没有title时把alt当成 tool tip显示)
title(tool tip):该属性为设置该属性的元素提供建议性的信息。
b:
strong:粗体强调标签,强调,表示内容的重要性em:斜体强调标签,更强烈强调,表示内容的强调点。
7.介绍以下你对浏览器内核的理解?
1、主要分成两部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎。
2、渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等)、以及计算网页的显示方式、然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同、所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其他需要编辑、显示网络内容的应用程序都需要内核
3、JS引擎则:解析和执行javascript来实现网页的动态效果。
4、最开始渲染引擎和JS引擎并没有区分得很明确,后来JS引擎越来越独立,内核九倾向于只指渲染引擎。
8.iframe的作用?
用法
1、iframe是用来在网页中插入第三方页面,早期的页面使用iframe主要是用于导航栏这种很多页面都相同的部分,这样在切换页面的时候避免重复下载。
优点
1、便于修改,模拟分离,像一些信息管理系统会用到。
2、但现在基本不推荐使用。除非特殊需要,一般不推荐使用。
缺点
1、iframe的创建比一般的DOM元素慢了1-2个数量级
2、iframe标签会阻塞页面的的加载,如果页面的onload事件不能及时触发,会让用户觉得网页加载很慢,用户体验不好,在Safari和Chrome中可以通过js动态设置iframe的src属性来避免阻塞。
3、iframe对于SEO不友好,替换方案一般就是动态语言的Incude机制和ajax动态填充内容等。
9.选择器优先级是怎样的?
1、!important>行内样式>id选择器>类选择器>标签选择器>通配符>继承
2、权重算法:(0,0,0,0)==》第一个0对应的是important的个数,第二个0对应的是id选择器的个数,第三个0对应的类选择器的个数,第四个0对应的是标签选择器的个数,就是当前选择器的权重
3、比较:先从第一个0开始比较,如果第一个0大,那么说明这个选择器的权重高,如果第一个相同,比较第二个,依次类推。
10.CSS实现垂直水平居中
在已知元素宽和高的情况下,在CSS中设置该元素position: absolute;相对定位,top和left都为50%,然后margin-top和margin-left都为负该元素高和宽的一半。
若不知元素宽和高的情况,则设置position: absolute;相对定位,top,right,bottom,left皆设置0。