一、兼容性处理-css
1, 双间距bug float引起的 display:inline;
2, 高度小于十像素容器的问题 ie6最小高度的问题限制 font-size:0
3, ie6不能定义1px高度的容器 是ie6默认行高造成的 解决 over:hidden,zoom:0.08 line-height:1px
4, ie6 png24透明图片问题 js解决
5, select 层级过高 在ie6下遮罩 使用iframe嵌套
6, ie6下设置透明度问题 Filter:alpha(opacity=50)
7, ie z-index 不起作用问题 设置父元素position:relative;
8, 超链接hover 点击后失效问题 正确顺序书写 link visited hover active
9, ie6 7 8 下行内元素在浮动之前的兄弟元素 浮动之后 浮动元素折行 1)利用hack设置一个负的上边距 2)换位置
10, img图片下的默认高度 img(display:block)
11, ie6 底部3pxbug 用浮动解决
12, display:inline-block ie67下不兼容 float:left
13, position:fixed ie6下不兼容
二、减少页面加载时间的方法-前端优化
1, css 放顶部 js放底部
2, 压缩css js
3, 合并css js 减少http请求
4, css sprite 图片 减少http请求
5, 减少dom操作
6, 外部css js放底部
7, 图片按需加载
8, CDN 缓存
三、get 和post的区别
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
四、渐进增强 优雅降级
渐进增强(Progressive Enhancement):一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。
优雅降级(Graceful Degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览。
向上兼容和向下兼容
渐进增强相当于向上兼容,而优雅降级相当于向下兼容
eg.
.transition {
/*渐进增强写法*/
-webkit-transition: all .5s;
-moz-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.transition {
/*优雅降级写法*/ transition: all .5s;
-o-transition: all .5s;
-moz-transition: all .5s;
-webkit-transition: all .5s;
}