龙空技术网

浏览器相关的前端面试题

剪辑炼器期 143

前言:

此时各位老铁们对“css浏览器兼容性面试题”可能比较看重,姐妹们都想要知道一些“css浏览器兼容性面试题”的相关文章。那么小编同时在网络上汇集了一些有关“css浏览器兼容性面试题””的相关内容,希望朋友们能喜欢,看官们快快来了解一下吧!

作为前端在工作中经常需要解决各种浏览器兼容性问题,因此面试中浏览器相关的问题也会经常碰到。本文总结了几个浏览器相关的前端面试题,希望能对大家有帮助。

1、浏览器的内核分别是什么?

IE浏览器6、7、8、9、10、11-内核Trident

Edge浏览器(Edge)-内核EdgeHTML(全新内核)

谷歌浏览器(Chrome)-内核Blink(webkit的分支)

火狐浏览器(Firefox)-内核Gecko

苹果浏览器(Safari)-内核Webkit

Opera内核-原为Presto,现为Blink

2、浏览器默认的margin和padding不同,怎么解决?

解决方案是加一个全局的*{margin:0;padding:0;}来统一。

3、如何解决Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示?

可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决.

4、Event对象的一些兼容性写法?

4.1、获得event对象兼容性写法

event || (event = window.event);

4.2、获得target兼容型写法

event.target||event.srcElement

4.3、阻止浏览器默认行为兼容性写法

event.preventDefault ? event.preventDefault() : (event.returnValue = false);

4.4、阻止冒泡写法

event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true);

4.5、注册和删除事件方法的形式

// 绑定事件

function on(id, eventType, fn) {

var dom = this.isString(id) ? this.$id(id) : id;

if(dom.addEventListener) {

dom.addEventListener(eventType, fn);

} else {

if(dom.attachEvent) {

dom.attachEvent('on' + eventType, fn);

}

}

}

// 解除绑定

function un(id, eventType, fn) {

var dom = this.$id(id);

if(dom.removeEventListener) {

dom.removeEventListener(eventType, fn, false);

} else {

if(dom.detachEvent) {

dom.detachEvent("on" + eventType, fn)

}

}

}

一起学习,互相督促进步,欢迎关注我~

标签: #css浏览器兼容性面试题