下面所提到的浏览器兼容性指的是PC端浏览器兼容性,在一些地方,因为浏览器的低版本的IE浏览器已经被淘汰,所以PC端的浏览器兼容已经不再是难题
常见的浏览器兼容问题
如何解决不同浏览器的标签默认的margin值和padding值的不同
使用Normalize来清除默认样式
如何解决块块标签浮动后,在设置margin的情况下,在IE6中显示的margin比设置的大的问题
在float的标签样式控制中加入display:inline,将其转化为行内属性
页面中的图片元素为什么具有默认间距
因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签会有间距
解决方法:
使用float属性让img浮动布局
可以通过font-size属性将空白字符大小设置成0
可以将图片的display属性设置成block
浏览器的hacker?
IE6识别的hacker是下划线(_)和星号*
IE7识别的hacker是星号*
如何解决li元素内出现浮动元素时产生的间隙问题
通过设置vertical-align:top/middle/button来解决
如何让较长的单词及较长的url换行
word-break:break-all在词内换行(把单词分两截,分行显示)
在定义常量时如何兼容浏览器?
在Firefox下,可以使用const关键字或者是var关键字来定义常量,
在IE下,只能使用var关键字来定义常量,所以可以统一使用var关键字来定义常量
谈谈模态和非模态窗口问题
在IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口,但是在Firefox下则不能,所以可以直接使用window.open(pageURl,name,parameters)方式打开新的窗口
如果需要在子窗口中访问父窗口,可以在子窗口中使用window.opener来访问父窗口
说说body载入问题
Firefox的body对象在body标签没有被字体完全读入之前就存在
而IE的body对象则必须在body标签被浏览器完全读入之后才存在
IE条件注释中有哪些常用运算符
Ite-----小于等于运算符
It-----小于运算符
gte----大于等于运算符
gt----大于运算符
!-----不等于运算符
什么是渐进增强和优雅降级
渐进增强指的是针对低版本浏览器构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进并追加功能,以达到更好的用户体验
优雅降级指的是一开始就构建完整的功能,然后针对低版本浏览器进行兼容