1.<menu> 标签
定义命令的列表或菜单,用于上下文菜单、工具栏以及用于列出表单控件和命令。目前所有主流浏览器都不支持<menu> 标签。在 HTML 4.01 中已弃用 <menu> 元素,在 HTML5 中重新定义了 <menu> 元素。
2.变量作用域
function Foo(){
vari = 0;
returnfunction(){console.log(i++);}
}
varf1 = Foo();f2 = Foo();
f1();f1();f2();
打印结果:0 1 0
js的作用域是指变量和函数可以访问的范围,分为局部作用域和全局作用域,没有块级作用域, javascript只有函数作用域,在函数内部声明的变量只能在函数体和子函数可以访问,这个函数的外部不能访问。
3.javascript类型转换
(1)将一个数转换为布尔类型:var num = 10;!!num;或Boolean(num);
(2)基本数据类型转换的三种方法:
转换为字符型:String() ; 例:String(678)的结果为"678"
转换为数值型:Number() ; 例:Number("678")的结果为678
转换为布尔型:Boolean() ; 例:Boolean("aaa")的结果为true
提取字符串中的整数:parseInt();
Js是弱类型语言,随时会出现类型转换
相对定位是相对于自己原来的位置
4.Doctype的严格模式与混杂模式:
Doctype:(Document Type)文档类型,它位于文档中最前面的位置,处于标签之前。
浏览器有两种呈现模式:标准模式和混杂模式(quirks mode)。
在标准模式中,浏览器根据规范呈现页面;
混杂模式是一种比较宽松的向后兼容的模式。混杂模式通常模拟老式浏览器的行为,以防止老站点无法工作。
所有的浏览器都需要提供两种模式:混杂模式服务与旧式规则,而严格模式服务于标准规则。
border:none;//表示边框样式没有
border:0;//表示边框宽度为0
5.css2中的伪类/伪对象
伪类 | 用途
|
:link | a连接标签的未被访问的样式 |
:hover | 对象在鼠标移上去的样式 |
:active | 对象被用户点击及被点击释放之间的样式,选定后的链接 |
:visited | a连接对象被访问后的样式 |
:focus | 对象成为输入焦点时的样式 |
:first-child | 对象的第一个子对象的样式 |
:first | 对于页面的第一页使用的样式 |
:lang | 向带有指定 lang 属性的元素添加样式 |
伪对象 | 用途 |
:after | 设置某个对象之后的内容 |
:first-letter | 对象内的第一个字符的样式设置 |
:first-line | 对象内第一行的样式设置 |
:before | 设置某个对象之间的内容 |
6. HTMl标签语义化
简单来说,就是让标签有含义,给某块内容用上一个最恰当最合适的标签,使页面有良好的结构。
span没有语义,没有固定的格式表现,也不代表什么实际意义
空格可以在html中被识别,换行和缩进不可以。
CssSprites(css精灵):CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。
优点
(1)利用CSS Sprites能很好地减少网页的http请求,从而大大的提高页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
(2)CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。
(3)解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。
(4)更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。
缺点
(1)在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内出现不必要的背景;这些还好,最痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;
(2)CSS Sprites在开发的时候比较麻烦,要通过photoshop或其他工具测量计算每一个背景单元的精确位置。
7.link和@import方式区别
(1)link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
(2)link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
(3)link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
(4)link支持使用Javascript控制DOM去改变样式;而@import不支持。