——看一些博客和书的一些备忘笔记
1)永远不要优化代码,直到你真正需要。
2)确保解绑那些不再需要的事件监听器,尤其是那些即将被销毁的DOM对象所绑定的事件监听器。
3)用户傻瓜思想||用户自由思想 ??
4)前端验证是用来增强用户体验,而不是用来把手安全大门的
5)浮动float破坏的了元素的inline boxes
6)如果inline-block元素间有空格或是换行产生了间隙,那是正常的,应该的。如果没有空格与间隙才是不正常的(IE6/7 block水平元素)。真正的inline-block元素,就像个图片一样。例如,两个不在一行的img标签,形成的两个图片之间就会有间隙。。。
关于这个——>http://www.zhangxinxu.com/wordpress/?p=1194
7)关于line-height,一般情况下不推荐使用带单位的行高值。为什么?带单位的行高值会将计算后的行高值传给全部的后代元素。
8)通过定位将元素移出屏幕,.hide{position:absolute;top:-10000em;left:-10000em;}(应用:对视力正常者隐藏一个元素,同时让屏幕阅读器也能识别的方法)
9)图片替换技术,Phark,使用负文本缩进把文本移到元素的左侧text-indent:-9999px;
10)绘制web页面的区域首先是从html元素取颜色,如果html元素没有设置背景,则从body元素获取背景,如果body也没有设置,则浏览器就会用某个默认的颜色进行填充。
11)凡是浏览器默认字体不起作用的页面都是在CSS中设置了中文字体的页面。尽量不要在css中定义中文字体吧。。。
12)ie6不支持apha透明,但支持索引透明。。。。但是png8跟gif格式会有锯齿
13)百分比定位。。背景图片位置的百分比值实际上被使用了两次。第一次用于找到背景区域中所定义的点,第二次用于找到图片本身中定义的点,然后再把这两个点对齐。
14)CSS视差(CSS parallax)挺好玩的。比如:body{ 100%;background: url(../img/ice-1.png) -75% 0 repeat-x; }.wrapper{ 100%;height: 300px;background: url(../img/ice-2.png) 75% 0 repeat-x;}
15)关于bfc:http://w3help.org/zh-cn/kb/010/
左一块,右一块,不定宽的话
<div class="item"> <div class="pic">...</div> <div class="content">...</div> </div>
.item .pic { float:left;margin-right:10px; } .item .content { overflow:hidden;zoom:1; } /* 或用display:table-cell */
16)inline-block代替float(去掉间隙或者font-size:0;)
17)纠结了好久的为什么chrome读写不了cookie,以为是代码写错了,或者浏览器哪里没设置好,结果原来是:
本地磁盘中的页面,chrome的控制台是无法用JavaScript读写操作cookie 的。。⊙﹏⊙b
18)jquery的$(document).width()在ie下包含了滚动条的宽度。
19)关于call or apply.
f.call(o);
相当于:
o.m=f;
o.m();
delete o.m;
call()和apply()的第一个实参都会变成this的值,第一个调用上下文实参之后的所有实参就是要传入待调用函数的值。
20)ie6空标签 19px高度
21) 如果一个函数没有传入参数,那么它的类型必为undefined。
function displayError(msg) { if(typeof msg == 'undefined') { msg = 'An error occurred.'; } alert(msg); } displayError();
22) 元素margin-top or margin-bottom 为负值,且元素超出父元素边框时,ie6下 超出部分会被切除,使用_position:relative;修复