一、HTML-CSS
img的alt与title有何异同?strong与em的异同?
alt属性是图片无法正常加载时的替换文本;title属性是鼠标悬浮在图片上方时的提示文本;strong粗体强调标签(b)em斜体强调标签(i)
html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
新特性
拖拽释放、语义化更好的标签(header,nav,footer,aside,article,section)audio、video、Canvas、Geolocation、localStorage、sessionStorage、各种表单控件(calendar、date、time、email、url、search) webworker, websocket
移除的元素
- 纯表现的元素:basefont,big,center,font, s,strike,tt,u;
- 对可用性产生负面影响的元素:frame,frameset,noframes;
支持 HTML5 新标签:
- IE8/IE7/IE6 支持通过 document.createElement 方法产生的标签,可以利用这一特性
让这些浏览器支持 HTML5 新标签,浏览器支持新标签后,还需要添加标签默认的样式(当然最好的方式是直接使用成熟的框架、使用最多的是 html5shim 框架):
<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->
如何区分:
DOCTYPE 声明新增的结构元素、功能元素
说说你对语义化的理解?
- 用正确的标签做正确的事情!
- html 语义化就是让页面的内容
结构化,便于对浏览器、搜索引擎解析; - 在没有任何样式的情况下,也能清晰的展示出见文档的结构,对于阅读源码的人,更容易将网站分块,便于维护和理解
- 搜索引擎爬虫依赖于标记来确定上下文和各个关键字的权重,更利于利于网站的SEO优化
CSS3有哪些新特性?
圆角、阴影、渐变、2D3D转换、动画、媒体查询 等等。
对BFC规范的理解?
解释下浮动和它的工作原理?如何清除浮动?
网络中使用最多的图片格式有哪些
介绍一下CSS的盒模型
- CSS 的盒子模型有两种:
标准W3C盒模型和IE盒模型 - 盒子模型由
内容(content)、内边距(padding)、边框(border)、外边距(margin)组成 - 标准盒模型的宽只是
内容(content)的宽度,而IE8(及以下)盒模型的宽度是除过外边距(margin)的宽度
8、CSS有哪些选择器?
基础选择器、复合选择器、伪类选择器、属性选择器
基础选择器:
- 标签选择器(element)
- id选择器(# id)
- 类选择器(. classname)
- 通配符选择器(*) 复合选择器:
- 后代选择器(空格)
- 子选择器(>)
- 多标签选择器(element,element)
- 相邻选择器(element+element) 属性选择器: 属性选择器(a[target])
伪类选择器:
- 链接伪类(a: hover)
- 伪类选择器(li:nth-child)
9、哪些属性可以继承?
可继承的样式:
- font-size
- font-family
- color
- text-indent 不可继承的样式:
- width
- height
- padding
- border
- margin
10、优先级算法如何计算?
- 优先级就近原则,同权重情况下样式定义最近者为准;
- 载入样式以最后载入的定位为准;
- !important > id > class > tag
- important 比内联优先级高,但内联比id要高
11、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) | |
| :enabled :disabled | 控制表单控件的禁用状态。 |
| :checked | 单选框或复选框被选中。 |
12、display都有哪些值,说明他们的作用
以下为常用
| 名称 | 说明 |
|---|---|
display:none; | 通常与 JavaScript 一起使用,以隐藏和显示元素,而无需删除和重新创建它们,默认情况下,<script> 元素为 display:none; |
display: block; | 元素以块级元素显示 |
display:inline; | 元素以行内元素显示 |
display:inline-block; | 元素以行内块元素显示(不换行,还可以设置宽高) |
13、在定位中relative和absolute分别是相对于谁进行定位的?
| 名称 | 说明 |
|---|---|
| static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right z-index 声明) |
relative | 生成相对定位的元素,相对于其在普通流中的位置进行定位。 |
absolute | 生成绝对定位的元素,相对于 static 定位以外的第一个祖先元素进行定位。 |
| fixed | 生成固定定位的元素,相对于浏览器窗口进行定位(老IE不支持)。 |
| inherit | 规定从父元素继承 position 属性的值 |
14、display:none和visibility:hidden的区别?
display:none和visibility:hidden都是隐藏对应的元素;display:none相当于从文档中消失,不占有任何空空间,而visibility:hidden还会在文档布局中保留 原来的空间。
15、CSS中 link 和@import 的区别?
- 首先
link属于HTML标签,而@import是CSS提供的语法; - 页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;影响性能
- import只在IE5以上才能识别,而link是HTML标签,无兼容问题;
- 建议使用
link标签
16、为什么要初始化CSS样式?
17、解释下 CSS sprites,以及你要如何在页面或网站中使用它。
18、Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
19、html常见兼容性问题?
二、JS
1、null和undefined的区别?
2、讲一下 var、let、const 的区别?
- var声明的范围是函数作用域,而let和const声明的范围是块级作用域
- var声明的变量有作用域提升的特性,而 let、const 没有
- var 声明的变量会挂载到 windows 对象上,所以使用 var 声明的是全局变量,而 let 和 const 声明的变量是局部变量, 块级作用域外不能访问
- 同一作用域下 let 和 const 不能重复声明同名变量,而var可以
- const声明的是常量,必须赋初始值,一旦声明不能再次赋值修改,如果声明的是复合类型数据,可以修改其属性(比如 const 变量引用的是一个对象,那么修改这个对象内部的属性并不违反 const 的限制)
js中的基础数据类型有哪几种? 了解包装对象吗?
答: 6种,分别是string、number、boolean、undefiend、null、symbol 基础数据类型临时创建的临时对象,称为包装对象。其中 number、boolean 和 string 有包装对象,代码运行的过程中会找到对应的包装对象,然后包装对象把属性和方法给了基本类型,然后包装对象被系统进行销毁。
js的typeof返回哪些数据类型?
共7种
- "string"表示值为字符串
- "number"表示值为数值
- "boolean"表示值为布尔值
- "undefined"返回表示值未定义
- "object"表示值为对象(而不是函数)或 null;
- "function"表示值为函数
- "symbol"表示值为符号
列举至少3种强制类型转换和2种隐式类型转换
- 强制转换类型主要有:parselnt() parsefloat() Boolean() Number() String()
- 隐式类型转换主要有:+ - == !