面试5

本文介绍了HTML5中video标签支持的视频格式及其在主流浏览器中的兼容性情况,并探讨了不同浏览器版本间的差异。此外,还提供了解决兼容性问题的方法。

1.html5中video支持哪些视频格式

一共支持三种格式: Ogg、MPEG4、WebM。但这三种格式对于浏览器的兼容性却各不同。

注:Internet Explorer 8 以及更早的版本不支持(h5c3)

IE      Firefox      Opera      Chrome      Safari

Ogg      No     3.5+      10.5+      5.0+       No

MPEG4   9.0+      No       No        5.0+       3.0+

WebM     No      4.0+      10.6+     6.0+       No

NO:代表不支持这款浏览器。

X.0+:表示支持这款及版本更高的浏览器。

使用Google的html5shiv包解决IE8一下不支持html5的问题


2.项目基于哪些浏览器开发(主流浏览器的兼容问题)

IE     Firefox      Opera      Chrome      Safari

兼容性问题记常见的:

*内部盒模型超出父级时,父级被撑大
解决方法:父标签使用overflow:hidden

*CSS选择器区分
IE6不支持子选择器;先针对IE6使用常规申明CSS选择器,然后再用子选择器针对IE7+及其他浏览器。
/* IE6 专用 */
.content {color:red;}
/* 其他浏览器 */
div>p .content {color:blue;} 

*IE8不支持透明背景色
设置滤镜
filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#44000000,endColorstr=#44000000);

*innerText 和 innerContent
     1)innerText 和 innerContent 的作用相同
     2)IE8之前的浏览器只支持innerText 
     3)老版本的Firefox只支持innerContent
     4)新版本的浏览器两种方式都支持
// 老版本浏览器兼容  innerText 和 innerContent
  if (element.textContent) {
        return element.textContent ;
   } else {
       return element.innerText;
   }

*获取兄弟节点/元素的兼容性问题
 1)兄弟节点,所有浏览器都支持
①nextSibling 下一个兄弟节点,可能是非元素节点;会获取到文本节点②previousSibling  上一个兄弟节点,可能是非元素节点;会获取到文本节点
 2)兄弟元素,IE8以前不支持
①previousElementSibling 获取上一个紧邻的兄弟元素,会忽略空白
②nextElementSibling  获取下一个紧邻的兄弟元素,会忽略空白

//兼容浏览器
// 获取下一个紧邻的兄弟元素
function getNextElement(element) {
   // 能力检测
  if(element.nextElementSibling) {
      return element.nextElementSibling;
   } else {
         var node = element.nextSibling;
         while(node && node.nodeType !== 1) {
                 node = node.nextibling;
         }
         return node;
    }
 }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值